public class TypeDescriptor extends java.lang.Object implements Constants
InterfaceExtractor
) but can also be retrieved directly using
TypeDescriptorExtractor
.ACC_PRIVATE_PROTECTED, ACC_PRIVATE_STATIC, ACC_PRIVATE_STATIC_FINAL, ACC_PRIVATE_STATIC_SYNTHETIC, ACC_PUBLIC_ABSTRACT, ACC_PUBLIC_INTERFACE, ACC_PUBLIC_PRIVATE_PROTECTED, ACC_PUBLIC_PROTECTED, ACC_PUBLIC_STATIC, ACC_PUBLIC_STATIC_FINAL, ACC_PUBLIC_STATIC_SYNTHETIC, ACC_PUBLIC_SYNTHETIC, DEFAULT_BOOLEAN, DEFAULT_BYTE, DEFAULT_CHAR, DEFAULT_DOUBLE, DEFAULT_FLOAT, DEFAULT_INT, DEFAULT_LONG, DEFAULT_SHORT, descriptorChangedForInvokeSpecialName, executorClassNamePattern, fInstanceFieldsName, fReloadableTypeFieldName, fStaticFieldsName, JLC_GETCONSTRUCTOR, JLC_GETDECLAREDCONSTRUCTOR, JLC_GETDECLAREDCONSTRUCTORS, JLC_GETDECLAREDFIELD, JLC_GETDECLAREDFIELDS, JLC_GETDECLAREDMETHOD, JLC_GETDECLAREDMETHODS, JLC_GETFIELD, JLC_GETMETHOD, JLC_GETMETHODS, JLC_GETMODIFIERS, jlcgc, jlcgcDescriptor, jlcgdc, jlcgdcDescriptor, jlcgdf, jlcgdfDescriptor, jlcgdfs, jlcgdfsDescriptor, jlcgdm, jlcgdmDescriptor, jlcgdms, jlcgdmsDescriptor, jlcGetDeclaredConstructorsDescriptor, jlcGetDeclaredConstructorsMember, jlcgf, jlcgfDescriptor, jlcgm, jlcgmDescriptor, jlcgmods, jlcgmodsDescriptor, jlcgms, jlcgmsDescriptor, jlObject, jloObjectStream_hasInitializerMethod, JLOS_HASSTATICINITIALIZER, JLRF_GET, JLRF_GETLONG, jlrfGetDescriptor, jlrfGetLongDescriptor, jlrfGetLongMember, jlrfGetMember, JLRM_INVOKE, jlrmInvokeDescriptor, jlrmInvokeMember, lDynamicallyDispatchable, lInstanceStateManager, lRegistryType, lReloadableType, lStaticStateManager, magicDescriptorForGeneratedCtors, mChangedForConstructorName, mChangedForInvocationName, mChangedForInvokeDynamicName, mChangedForInvokeInterfaceName, mChangedForInvokeSpecialName, mChangedForInvokeStaticName, mChangedForInvokeVirtualName, mDynamicDispatchDescriptor, mDynamicDispatchName, methodSuffixSuperDispatcher, mInitializerName, mInstanceFieldGetterDescriptor, mInstanceFieldGetterName, mInstanceFieldInterceptionRequired, mInstanceFieldSetterDescriptor, mInstanceFieldSetterName, mPerformInvokeDynamicName, mStaticFieldGetterName, mStaticFieldInterceptionRequired, mStaticFieldSetterDescriptor, mStaticFieldSetterName, mStaticInitializerName, NO_FIELDS, NO_METHODS, NO_STRINGS, PREFIX, tDynamicallyDispatchable, tInstanceStateManager, tRegistryType, tReloadableType, tStaticStateManager, WAS_INVOKESTATIC, WAS_INVOKEVIRTUAL
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8
Constructor and Description |
---|
TypeDescriptor(java.lang.String slashedTypeName,
java.lang.String supertypeName,
java.lang.String[] superinterfaceNames,
int modifiers,
java.util.List<? extends MethodMember> constructors,
java.util.List<MethodMember> methods,
java.util.List<? extends FieldMember> fields,
java.util.List<? extends FieldMember> fieldsRequiringAccessors,
boolean isReloadable,
TypeRegistry registry,
boolean hasClinit,
java.util.List<java.lang.String> finalInHierarchy) |
Modifier and Type | Method and Description |
---|---|
boolean |
defines(MethodMember method)
Check if this descriptor defines the specified method.
|
boolean |
definesNonPrivate(java.lang.String nameAndDescriptor) |
MethodMember |
getByDescriptor(java.lang.String name,
java.lang.String descriptor)
Check if this descriptor defines a method with the specified name and descriptor.
|
MethodMember |
getByNameAndDescriptor(java.lang.String nameAndDescriptor) |
MethodMember |
getConstructor(int ctorId) |
MethodMember |
getConstructor(java.lang.String desc) |
MethodMember[] |
getConstructors() |
java.lang.String |
getDottedName() |
FieldMember |
getField(java.lang.String name)
Search for a field on this type descriptor - do not try supertypes.
|
FieldMember[] |
getFields() |
FieldMember[] |
getFieldsRequiringAccessors() |
MethodMember |
getMethod(int methodId) |
MethodMember[] |
getMethods() |
int |
getModifiers() |
java.lang.String |
getName() |
ReloadableType |
getReloadableType() |
java.lang.String[] |
getSuperinterfacesName() |
java.lang.String |
getSupertypeName() |
TypeRegistry |
getTypeRegistry() |
boolean |
hasClinit() |
boolean |
isAnnotation() |
boolean |
isEnum() |
boolean |
isFinalInHierarchy(java.lang.String nad) |
boolean |
isGroovyType() |
boolean |
isInterface() |
boolean |
isReloadable() |
java.lang.String |
methodsToString(MethodMember[] methods) |
void |
setIsGroovyType(boolean b) |
java.lang.String |
toString() |
public TypeDescriptor(java.lang.String slashedTypeName, java.lang.String supertypeName, java.lang.String[] superinterfaceNames, int modifiers, java.util.List<? extends MethodMember> constructors, java.util.List<MethodMember> methods, java.util.List<? extends FieldMember> fields, java.util.List<? extends FieldMember> fieldsRequiringAccessors, boolean isReloadable, TypeRegistry registry, boolean hasClinit, java.util.List<java.lang.String> finalInHierarchy)
public MethodMember[] getMethods()
public MethodMember[] getConstructors()
public FieldMember[] getFields()
public FieldMember[] getFieldsRequiringAccessors()
public int getModifiers()
public java.lang.String getName()
public java.lang.String getSupertypeName()
public java.lang.String[] getSuperinterfacesName()
public boolean defines(MethodMember method)
method
- the method to check the existence of in this type descriptorpublic MethodMember getByDescriptor(java.lang.String name, java.lang.String descriptor)
name
- the member namedescriptor
- the member descriptor (e.g. (Ljava/lang/String;)I)public MethodMember getByNameAndDescriptor(java.lang.String nameAndDescriptor)
public boolean isReloadable()
public MethodMember getMethod(int methodId)
public MethodMember getConstructor(int ctorId)
public boolean isInterface()
public boolean isAnnotation()
public boolean isEnum()
public boolean definesNonPrivate(java.lang.String nameAndDescriptor)
public boolean isFinalInHierarchy(java.lang.String nad)
public FieldMember getField(java.lang.String name)
name
- the name of the fieldpublic ReloadableType getReloadableType()
public TypeRegistry getTypeRegistry()
public java.lang.String getDottedName()
public MethodMember getConstructor(java.lang.String desc)
public boolean isGroovyType()
public void setIsGroovyType(boolean b)
public boolean hasClinit()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String methodsToString(MethodMember[] methods)