Returns a descriptor for this member. Descriptors are constructed
as follows:
For types, descriptors are defined as for the Java Virtual
Machine. For primitive types these are the single characters
'Z', 'B', 'S', 'C', 'I', 'J', 'F', 'D', 'V'
for boolean, byte, short,
char, int, long,
float, double, void.
For array types, the descriptor is the character '[' plus
the descriptor of its component type, e.g.,
[[I for int[][]. For non-array
reference types, the
descriptor is the character 'L', followed by the binary name
(see Type.getBinaryName()) of the type, where '.'
has to be replaced by '/', followed by ';',
e.g., Ljava/lang/Object;.
For fields, the descriptor is the character 'f', followed by the
simple name of the field, followed by the character ';', followed
by the descriptor of the field's type. E.g.,
fout;Ljava/io/PrintStream;
for the field System.out.
For methods and constructors, the descriptor is the character
'm', followed by the simple name of the method (which is
<init> for
constructors), followed by the characters ';' and '(', followed
by the descriptors of the method's parameter types, followed by
')', followed by the descriptor of the return type. E.g.
mprintln;(Ljava/lang/String;)V for the method
PrintStream.println(String).
Returns the name of this member. For types, this is the canonical name
of the type, e.g, java.lang.Object,
java.util.Map.Entry.
Otherwise, it equals Member.getSimpleName().