class ClassInfo extends java.lang.Object implements TypeInfo, org.objectweb.asm.Opcodes
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
castName
Internal class name used with CHECKCAST instruction
|
private java.lang.String |
descriptor
Internal data type descriptor
|
private java.lang.Class<?> |
type
Class which represents data type
|
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
Modifier | Constructor and Description |
---|---|
protected |
ClassInfo(java.lang.Class<?> type)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getCastName()
Get the internal name of the class which should be used with a CHECKCAST
instruction when casting an
Object returned from a call to
InvocationHandler.invoke to an instance of this data type. |
java.lang.String |
getDescriptor()
Get the descriptor which is used internally within the JVM to represent
this data type.
|
int |
getLoadInsn()
Get the ASM constant representing the instruction used to load an
instance of this data type from a local variable and push it onto the
operand stack (e.g., ALOAD, ILOAD, etc.).
|
int |
getReturnInsn()
Get the ASM constant representing the instruction used to pop an
instance of this data type from the operand stack and return it from a
method (e.g., ARETURN, IRETURN, etc.).
|
java.lang.Class<?> |
getType()
Get the class object associated with this data type.
|
MethodInfo |
getUnwrapInfo()
Get information for the method, if any, used to unwrap instances of this
data type from a J2SE data wrapper object.
|
int |
getWidth()
Get the width, in stack or local variable slots for instances of this
data type, when compiling bytecode instructions which manipulate such
data.
|
MethodInfo |
getWrapInfo()
Get information for the method, if any, used to wrap instances of this
data type in a J2SE data wrapper object.
|
private final java.lang.Class<?> type
private final java.lang.String castName
private final java.lang.String descriptor
protected ClassInfo(java.lang.Class<?> type)
type
- Class which represents data type.public java.lang.Class<?> getType()
public java.lang.String getCastName()
Object
returned from a call to
InvocationHandler.invoke
to an instance of this data type.getCastName
in interface TypeInfo
null
for the void
return type.public java.lang.String getDescriptor()
getDescriptor
in interface TypeInfo
public MethodInfo getWrapInfo()
getWrapInfo
in interface TypeInfo
null
.public MethodInfo getUnwrapInfo()
getUnwrapInfo
in interface TypeInfo
null
.public int getWidth()
public int getLoadInsn()
getLoadInsn
in interface TypeInfo
public int getReturnInsn()
getReturnInsn
in interface TypeInfo