javassist.bytecode
public class Descriptor extends Object
See chapter 4.3 in "The Java Virtual Machine Specification (2nd ed.)"
Nested Class Summary | |
---|---|
static class | Descriptor.Iterator
An Iterator over a descriptor. |
Method Summary | |
---|---|
static String | appendParameter(String classname, String desc)
Appends a parameter type to the parameter list represented
by the given descriptor.
|
static int | arrayDimension(String desc)
Computes the dimension of the array represented by the given
descriptor. |
static String | changeReturnType(String classname, String desc)
Changes the return type included in the given descriptor.
|
static int | dataSize(String desc)
Computes the data size specified by the given descriptor.
|
static boolean | eqParamTypes(String desc1, String desc2)
Returns true if the list of the parameter types of desc1 is equal to
that of desc2.
|
static String | getParamDescriptor(String decl)
Returns the signature of the given descriptor. |
static CtClass[] | getParameterTypes(String desc, ClassPool cp)
Returns the CtClass objects representing the parameter
types specified by the given descriptor.
|
static CtClass | getReturnType(String desc, ClassPool cp)
Returns the CtClass object representing the return
type specified by the given descriptor.
|
static String | insertParameter(String classname, String desc)
Inserts a parameter type at the beginning of the parameter
list represented
by the given descriptor.
|
static int | numOfParameters(String desc)
Returns the number of the prameters included in the given
descriptor.
|
static String | of(String classname)
Converts to a descriptor from a Java class name |
static String | of(CtClass type)
Returns the descriptor representing the given type. |
static String | ofConstructor(CtClass[] paramTypes)
Returns the descriptor representing a constructor receiving
the given parameter types.
|
static String | ofMethod(CtClass returnType, CtClass[] paramTypes)
Returns the descriptor representing a method that receives
the given parameter types and returns the given type.
|
static String | ofParameters(CtClass[] paramTypes)
Returns the descriptor representing a list of parameter types.
|
static int | paramSize(String desc)
Computes the data size of parameters.
|
static String | rename(String desc, String oldname, String newname)
Substitutes a class name
in the given descriptor string.
|
static String | rename(String desc, Map map)
Substitutes class names in the given descriptor string
according to the given map .
|
static String | toArrayComponent(String desc, int dim)
Returns the descriptor of the type of the array component.
|
static String | toClassName(String descriptor)
Converts to a Java class name from a descriptor.
|
static CtClass | toCtClass(String desc, ClassPool cp)
Returns a CtClass object representing the type
specified by the given descriptor.
|
static String | toJavaName(String classname)
Converts a class name from the internal representation used in
the JVM to the normal one used in Java. |
static String | toJvmName(String classname)
Converts a class name into the internal representation used in
the JVM.
|
static String | toJvmName(CtClass clazz)
Returns the internal representation of the class name in the
JVM. |
static String | toString(String desc)
Returns a human-readable representation of the
given descriptor. |
classname
must not be an array type.
Parameters: classname parameter type (not primitive type) desc descriptor
"[[I"
,
then this method returns 2.
Parameters: desc the descriptor.
Returns: 0 if the descriptor does not represent an array type.
classname
must not be an array type.
Parameters: classname return type desc descriptor
If the descriptor represents a method type, this method returns
(the size of the returned value) - (the sum of the data sizes
of all the parameters). For example, if the descriptor is
"(I)D"
, then this method returns 1 (= 2 - 1).
Parameters: desc descriptor
CtClass
objects representing the parameter
types specified by the given descriptor.
Parameters: desc descriptor cp the class pool used for obtaining
a CtClass
object.
CtClass
object representing the return
type specified by the given descriptor.
Parameters: desc descriptor cp the class pool used for obtaining
a CtClass
object.
classname
must not be an array type.
Parameters: classname parameter type (not primitive type) desc descriptor
Parameters: desc descriptor
Parameters: paramTypes parameter types
Parameters: returnType return type paramTypes parameter types
int
,
then this method returns "(II)"
.
Parameters: paramTypes parameter types
"(IJ)D"
, then this method returns 3. The size of the
return type is not computed.
Parameters: desc a method descriptor.
Parameters: desc descriptor string oldname replaced JVM class name newname substituted JVM class name
See Also: toJvmName
map
.
Parameters: map a map between replaced and substituted JVM class names.
See Also: toJvmName
"[[Ljava/lang/String;"
and the given dimension is 2,
then this method returns "Ljava/lang/String;"
.
Parameters: desc the descriptor. dim the array dimension.
Parameters: descriptor type descriptor.
CtClass
object representing the type
specified by the given descriptor.
This method works even if the package-class separator is
not /
but .
(period). For example,
it accepts Ljava.lang.Object;
as well as Ljava/lang/Object;
.
Parameters: desc descriptor cp the class pool used for obtaining
a CtClass
object.
Note that toJvmName(toJvmName(s))
is equivalent
to toJvmName(s)
.
Ljava/lang/Object;
is converted into java.lang.Object
.
(I[I)V
is converted into (int, int[])
(the return type is ignored).