joeq.Class
Class jq_Reference

java.lang.Object
  extended by joeq.Class.jq_Type
      extended by joeq.Class.jq_Reference
All Implemented Interfaces:
jq_ClassFileConstants, jwutil.io.Textualizable
Direct Known Subclasses:
Bytecodes.jq_ReturnAddressType, BytecodeToQuad.jq_ReturnAddressType, jq_Array, jq_Class, jq_Reference.jq_NullType

public abstract class jq_Reference
extends jq_Type
implements jq_ClassFileConstants


Nested Class Summary
static class jq_Reference.jq_NullType
           
 
Field Summary
static jq_Class _class
           
static jq_InstanceField _state
           
static jq_InstanceField _vtable
           
protected  ClassLoader class_loader
           
protected  int state
           
static boolean TRACE
           
protected  Object vtable
           
 
Fields inherited from class joeq.Class.jq_Type
desc, display, DISPLAY_SIZE, offset, s_s_array, s_s_array_length, USE_CLASS_OBJECT_FIELD
 
Fields inherited from interface joeq.Class.jq_ClassFileConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_FieldRef, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodRef, CONSTANT_Long, CONSTANT_MethodRef, CONSTANT_NameAndType, CONSTANT_ResolvedClass, CONSTANT_ResolvedIFieldRef, CONSTANT_ResolvedIMethodRef, CONSTANT_ResolvedSFieldRef, CONSTANT_ResolvedSMethodRef, CONSTANT_String, CONSTANT_Utf8, CONSUME_STACK, ILLEGAL_OPCODE, ILLEGAL_TYPE, jbc_AALOAD, jbc_AASTORE, jbc_ACONST_NULL, jbc_ALOAD, jbc_ALOAD_0, jbc_ALOAD_1, jbc_ALOAD_2, jbc_ALOAD_3, jbc_ANEWARRAY, jbc_ARETURN, jbc_ARRAYLENGTH, jbc_ASTORE, jbc_ASTORE_0, jbc_ASTORE_1, jbc_ASTORE_2, jbc_ASTORE_3, jbc_ATHROW, jbc_BALOAD, jbc_BASTORE, jbc_BIPUSH, jbc_BREAKPOINT, jbc_CALOAD, jbc_CASTORE, jbc_CHECKCAST, jbc_D2F, jbc_D2I, jbc_D2L, jbc_DADD, jbc_DALOAD, jbc_DASTORE, jbc_DCMPG, jbc_DCMPL, jbc_DCONST_0, jbc_DCONST_1, jbc_DDIV, jbc_DLOAD, jbc_DLOAD_0, jbc_DLOAD_1, jbc_DLOAD_2, jbc_DLOAD_3, jbc_DMUL, jbc_DNEG, jbc_DREM, jbc_DRETURN, jbc_DSTORE, jbc_DSTORE_0, jbc_DSTORE_1, jbc_DSTORE_2, jbc_DSTORE_3, jbc_DSUB, jbc_DUP, jbc_DUP_X1, jbc_DUP_X2, jbc_DUP2, jbc_DUP2_X1, jbc_DUP2_X2, jbc_F2D, jbc_F2I, jbc_F2L, jbc_FADD, jbc_FALOAD, jbc_FASTORE, jbc_FCMPG, jbc_FCMPL, jbc_FCONST_0, jbc_FCONST_1, jbc_FCONST_2, jbc_FDIV, jbc_FLOAD, jbc_FLOAD_0, jbc_FLOAD_1, jbc_FLOAD_2, jbc_FLOAD_3, jbc_FMUL, jbc_FNEG, jbc_FREM, jbc_FRETURN, jbc_FSTORE, jbc_FSTORE_0, jbc_FSTORE_1, jbc_FSTORE_2, jbc_FSTORE_3, jbc_FSUB, jbc_GETFIELD, jbc_GETSTATIC, jbc_GOTO, jbc_GOTO_W, jbc_I2B, jbc_I2C, jbc_I2D, jbc_I2F, jbc_I2L, jbc_I2S, jbc_IADD, jbc_IALOAD, jbc_IAND, jbc_IASTORE, jbc_ICONST_0, jbc_ICONST_1, jbc_ICONST_2, jbc_ICONST_3, jbc_ICONST_4, jbc_ICONST_5, jbc_ICONST_M1, jbc_IDIV, jbc_IF_ACMPEQ, jbc_IF_ACMPNE, jbc_IF_ICMPEQ, jbc_IF_ICMPGE, jbc_IF_ICMPGT, jbc_IF_ICMPLE, jbc_IF_ICMPLT, jbc_IF_ICMPNE, jbc_IFEQ, jbc_IFGE, jbc_IFGT, jbc_IFLE, jbc_IFLT, jbc_IFNE, jbc_IFNONNULL, jbc_IFNULL, jbc_IINC, jbc_ILOAD, jbc_ILOAD_0, jbc_ILOAD_1, jbc_ILOAD_2, jbc_ILOAD_3, jbc_IMUL, jbc_INEG, jbc_INSTANCEOF, jbc_INT2BYTE, jbc_INT2CHAR, jbc_INT2SHORT, jbc_INVOKEINTERFACE, jbc_INVOKENONVIRTUAL, jbc_INVOKESPECIAL, jbc_INVOKESTATIC, jbc_INVOKEVIRTUAL, jbc_IOR, jbc_IREM, jbc_IRETURN, jbc_ISHL, jbc_ISHR, jbc_ISTORE, jbc_ISTORE_0, jbc_ISTORE_1, jbc_ISTORE_2, jbc_ISTORE_3, jbc_ISUB, jbc_IUSHR, jbc_IXOR, jbc_JSR, jbc_JSR_W, jbc_L2D, jbc_L2F, jbc_L2I, jbc_LADD, jbc_LALOAD, jbc_LAND, jbc_LASTORE, jbc_LCMP, jbc_LCONST_0, jbc_LCONST_1, jbc_LDC, jbc_LDC_W, jbc_LDC2_W, jbc_LDIV, jbc_LLOAD, jbc_LLOAD_0, jbc_LLOAD_1, jbc_LLOAD_2, jbc_LLOAD_3, jbc_LMUL, jbc_LNEG, jbc_LOOKUPSWITCH, jbc_LOR, jbc_LREM, jbc_LRETURN, jbc_LSHL, jbc_LSHR, jbc_LSTORE, jbc_LSTORE_0, jbc_LSTORE_1, jbc_LSTORE_2, jbc_LSTORE_3, jbc_LSUB, jbc_LUSHR, jbc_LXOR, jbc_MONITORENTER, jbc_MONITOREXIT, jbc_MULTIANEWARRAY, jbc_NEW, jbc_NEWARRAY, jbc_NOP, jbc_POP, jbc_POP2, jbc_PUTFIELD, jbc_PUTSTATIC, jbc_RET, jbc_RETURN, jbc_SALOAD, jbc_SASTORE, jbc_SIPUSH, jbc_SWAP, jbc_TABLESWITCH, jbc_WIDE, NO_OF_OPERANDS, OPCODE_NAMES, PRODUCE_STACK, RESERVED, STATE_CLSINITERROR, STATE_CLSINITIALIZED, STATE_CLSINITIALIZING, STATE_CLSINITRUNNING, STATE_COMPILED, STATE_COMPILING, STATE_LOADED, STATE_LOADERROR, STATE_LOADING1, STATE_LOADING2, STATE_LOADING3, STATE_PREPARED, STATE_PREPAREERROR, STATE_PREPARING, STATE_SFINITERROR, STATE_SFINITIALIZED, STATE_SFINITIALIZING, STATE_UNLOADED, STATE_VERIFIED, STATE_VERIFYERROR, STATE_VERIFYING, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TC_ARRAY, TC_BOOLEAN, TC_BYTE, TC_CHAR, TC_CLASS, TC_CLASSEND, TC_DOUBLE, TC_FLOAT, TC_INT, TC_LONG, TC_PARAM, TC_PARAMEND, TC_SHORT, TC_VOID, TYPE_OF_OPERANDS, UNDEFINED, UNPREDICTABLE
 
Constructor Summary
protected jq_Reference(Utf8 desc, ClassLoader class_loader)
           
 
Method Summary
 void chkState(byte s)
           
 ClassLoader getClassLoader()
           
abstract  jq_Reference getDirectPrimarySupertype()
           
abstract  jq_Class getInterface(Utf8 desc)
           
abstract  jq_Class[] getInterfaces()
           
abstract  String getJDKName()
           
 int getReferenceSize()
           
 int getState()
           
static jq_Reference getTypeOf(Object o)
           
abstract  jq_InstanceMethod getVirtualMethod(jq_NameAndDesc nd)
           
 Object getVTable()
           
abstract  boolean implementsInterface(jq_Class k)
           
 boolean isClsInitialized()
           
 boolean isClsInitRunning()
           
 boolean isCompiled()
           
 boolean isInstance(Object o)
           
 boolean isIntLike()
           
 boolean isLoaded()
           
 boolean isPrepared()
           
 boolean isPrimitiveType()
           
 boolean isSFInitialized()
           
 boolean isVerified()
           
 
Methods inherited from class joeq.Class.jq_Type
accept, addEdge, cls_initialize, compile, convertPrimitive, getArrayTypeForElementType, getDepth, getDesc, getJavaLangClassObject, getJDKDesc, getName, isAddressType, isArrayType, isClassType, isFinal, isReferenceType, isSubtypeOf, load, needsDynamicLink, parseType, prepare, read, sf_initialize, shortName, toString, verify, write, writeEdges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TRACE

public static final boolean TRACE
See Also:
Constant Field Values

vtable

protected Object vtable

state

protected int state

class_loader

protected final ClassLoader class_loader

_class

public static final jq_Class _class

_vtable

public static final jq_InstanceField _vtable

_state

public static jq_InstanceField _state
Constructor Detail

jq_Reference

protected jq_Reference(Utf8 desc,
                       ClassLoader class_loader)
Method Detail

getTypeOf

public static final jq_Reference getTypeOf(Object o)

getState

public final int getState()

isLoaded

public final boolean isLoaded()
Specified by:
isLoaded in class jq_Type

isVerified

public final boolean isVerified()
Specified by:
isVerified in class jq_Type

isPrepared

public final boolean isPrepared()
Specified by:
isPrepared in class jq_Type

isSFInitialized

public final boolean isSFInitialized()
Specified by:
isSFInitialized in class jq_Type

isCompiled

public final boolean isCompiled()
Specified by:
isCompiled in class jq_Type

isClsInitRunning

public final boolean isClsInitRunning()
Specified by:
isClsInitRunning in class jq_Type

isClsInitialized

public final boolean isClsInitialized()
Specified by:
isClsInitialized in class jq_Type

isPrimitiveType

public final boolean isPrimitiveType()
Specified by:
isPrimitiveType in class jq_Type

isIntLike

public final boolean isIntLike()
Specified by:
isIntLike in class jq_Type

getClassLoader

public final ClassLoader getClassLoader()
Specified by:
getClassLoader in class jq_Type

getReferenceSize

public final int getReferenceSize()
Specified by:
getReferenceSize in class jq_Type

getVTable

public final Object getVTable()

getJDKName

public abstract String getJDKName()

getInterfaces

public abstract jq_Class[] getInterfaces()

getInterface

public abstract jq_Class getInterface(Utf8 desc)

implementsInterface

public abstract boolean implementsInterface(jq_Class k)

getVirtualMethod

public abstract jq_InstanceMethod getVirtualMethod(jq_NameAndDesc nd)

getDirectPrimarySupertype

public abstract jq_Reference getDirectPrimarySupertype()

isInstance

public boolean isInstance(Object o)
Specified by:
isInstance in class jq_Type

chkState

public final void chkState(byte s)


Copyright © 2001-2008 John Whaley. All Rights Reserved.