public final class Descriptor
extends java.lang.Object
Typical descriptors are:
I
Integer
[I
Array of integer
Lpkg1/pkg2/Cls;
Class
Lpkg1/pkg2/Outer$Inner;
Member class
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
BOOLEAN
The field descriptor for the primitive type BOOLEAN.
|
static java.lang.String |
BYTE
The field descriptor for the primitive type BYTE.
|
static java.lang.String |
CHAR
The field descriptor for the primitive type CHAR.
|
static java.lang.String |
DOUBLE
The field descriptor for the primitive type DOUBLE.
|
static java.lang.String |
FLOAT
The field descriptor for the primitive type FLOAT.
|
static java.lang.String |
INT
The field descriptor for the primitive type INT.
|
static java.lang.String |
JAVA_IO_SERIALIZABLE
The field descriptor for the interface
Serializable . |
static java.lang.String |
JAVA_LANG_ASSERTIONERROR
The field descriptor for the wrapper class
AssertionError . |
static java.lang.String |
JAVA_LANG_BOOLEAN
The field descriptor for the wrapper class
Boolean . |
static java.lang.String |
JAVA_LANG_BYTE
The field descriptor for the wrapper class
Byte . |
static java.lang.String |
JAVA_LANG_CHARACTER
The field descriptor for the wrapper class
Character . |
static java.lang.String |
JAVA_LANG_CLASS
The field descriptor for the class
Class . |
static java.lang.String |
JAVA_LANG_CLONEABLE
The field descriptor for the interface
Cloneable . |
static java.lang.String |
JAVA_LANG_DOUBLE
The field descriptor for the wrapper class
Double . |
static java.lang.String |
JAVA_LANG_ERROR
The field descriptor for the class
Error . |
static java.lang.String |
JAVA_LANG_FLOAT
The field descriptor for the wrapper class
Float . |
static java.lang.String |
JAVA_LANG_INTEGER
The field descriptor for the wrapper class
Integer . |
static java.lang.String |
JAVA_LANG_LONG
The field descriptor for the wrapper class
Long . |
static java.lang.String |
JAVA_LANG_OBJECT
The field descriptor for the class
Object . |
static java.lang.String |
JAVA_LANG_OVERRIDE
The field descriptor for the annotation
Override . |
static java.lang.String |
JAVA_LANG_RUNTIMEEXCEPTION
The field descriptor for the class
RuntimeException . |
static java.lang.String |
JAVA_LANG_SHORT
The field descriptor for the wrapper class
Short . |
static java.lang.String |
JAVA_LANG_STRING
The field descriptor for the class
String . |
static java.lang.String |
JAVA_LANG_STRINGBUILDER
The field descriptor for the class
StringBuilder . |
static java.lang.String |
JAVA_LANG_THROWABLE
The field descriptor for the class
Throwable . |
static java.lang.String |
LONG
The field descriptor for the primitive type LONG.
|
static java.lang.String |
SHORT
The field descriptor for the primitive type SHORT.
|
static java.lang.String |
VOID
The field descriptor for the type VOID.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
areInSamePackage(java.lang.String d1,
java.lang.String d2)
Check whether two reference types are declared in the same package.
|
static java.lang.String |
fromClassName(java.lang.String className)
Convert a class name as defined by "Class.getName()" into a
descriptor.
|
static java.lang.String |
fromInternalForm(java.lang.String internalForm)
Convert a class name in the "internal form" as described in JVMS 4.2 into a descriptor.
|
static java.lang.String |
getComponentDescriptor(java.lang.String d) |
static java.lang.String |
getPackageName(java.lang.String d)
Returns the package name of a class or interface reference descriptor,
or
null if the class or interface is declared in the
default package. |
static boolean |
hasSize1(java.lang.String d) |
static boolean |
hasSize2(java.lang.String d) |
static boolean |
isArrayReference(java.lang.String d) |
static boolean |
isClassOrInterfaceReference(java.lang.String d) |
static boolean |
isPrimitive(java.lang.String d) |
static boolean |
isPrimitiveNumeric(java.lang.String d) |
static boolean |
isReference(java.lang.String d) |
static short |
size(java.lang.String d) |
static java.lang.String |
toClassName(java.lang.String d)
Convert a field descriptor into a class name as defined by
Class.getName() . |
static java.lang.String |
toInternalForm(java.lang.String d)
Convert a descriptor into the "internal form" as defined by JVMS 4.2.
|
static java.lang.String |
toString(java.lang.String d)
Pretty-prints the given descriptor.
|
public static final java.lang.String VOID
public static final java.lang.String BYTE
public static final java.lang.String CHAR
public static final java.lang.String DOUBLE
public static final java.lang.String FLOAT
public static final java.lang.String INT
public static final java.lang.String LONG
public static final java.lang.String SHORT
public static final java.lang.String BOOLEAN
public static final java.lang.String JAVA_LANG_OBJECT
Object
.public static final java.lang.String JAVA_LANG_STRING
String
.public static final java.lang.String JAVA_LANG_STRINGBUILDER
StringBuilder
.public static final java.lang.String JAVA_LANG_CLASS
Class
.public static final java.lang.String JAVA_LANG_THROWABLE
Throwable
.public static final java.lang.String JAVA_LANG_RUNTIMEEXCEPTION
RuntimeException
.public static final java.lang.String JAVA_LANG_ERROR
Error
.public static final java.lang.String JAVA_LANG_CLONEABLE
Cloneable
.public static final java.lang.String JAVA_LANG_OVERRIDE
Override
.public static final java.lang.String JAVA_IO_SERIALIZABLE
Serializable
.public static final java.lang.String JAVA_LANG_ASSERTIONERROR
AssertionError
.public static final java.lang.String JAVA_LANG_BOOLEAN
Boolean
.public static final java.lang.String JAVA_LANG_BYTE
Byte
.public static final java.lang.String JAVA_LANG_CHARACTER
Character
.public static final java.lang.String JAVA_LANG_SHORT
Short
.public static final java.lang.String JAVA_LANG_INTEGER
Integer
.public static final java.lang.String JAVA_LANG_LONG
Long
.public static final java.lang.String JAVA_LANG_FLOAT
Float
.public static final java.lang.String JAVA_LANG_DOUBLE
Double
.public static boolean isReference(java.lang.String d)
Descriptor
describes a reference (i.e. non-primitive) typepublic static boolean isClassOrInterfaceReference(java.lang.String d)
Descriptor
describes a class or an interface (and not an array or a primitive type)public static boolean isArrayReference(java.lang.String d)
Descriptor
describes an array typepublic static java.lang.String getComponentDescriptor(java.lang.String d)
d
JaninoRuntimeException
- d
does not describe an array typepublic static short size(java.lang.String d)
d
occupies on the operand
stack or in the local variable array, or 0 iff d
describes the type VOIDpublic static boolean hasSize1(java.lang.String d)
true
iff d
describes a primitive type except LONG and DOUBLE, or a reference typepublic static boolean hasSize2(java.lang.String d)
true
iff d
LONG or DOUBLEpublic static java.lang.String toString(java.lang.String d)
d
- A valid field or method descriptorpublic static java.lang.String fromClassName(java.lang.String className)
public static java.lang.String fromInternalForm(java.lang.String internalForm)
Also implement the encoding of array types as described in JVMS 4.4.1.
public static java.lang.String toClassName(java.lang.String d)
Class.getName()
.public static java.lang.String toInternalForm(java.lang.String d)
public static boolean isPrimitive(java.lang.String d)
d
describes a primitive type or VOIDpublic static boolean isPrimitiveNumeric(java.lang.String d)
d
describes a primitive type except BOOLEAN and VOIDpublic static java.lang.String getPackageName(java.lang.String d)
null
if the class or interface is declared in the
default package.public static boolean areInSamePackage(java.lang.String d1, java.lang.String d2)