joeq.Class
Class jq_Array

java.lang.Object
  extended by joeq.Class.jq_Type
      extended by joeq.Class.jq_Reference
          extended by joeq.Class.jq_Array
All Implemented Interfaces:
jq_ClassFileConstants, jwutil.io.Textualizable

public class jq_Array
extends jq_Reference
implements jq_ClassFileConstants

Version:
$Id: jq_Array.java 2465 2006-06-07 23:03:17Z joewhaley $
Author:
John Whaley

Nested Class Summary
 
Nested classes/interfaces inherited from class joeq.Class.jq_Reference
jq_Reference.jq_NullType
 
Field Summary
static jq_Class _class
           
static jq_Class[] array_interfaces
           
static jq_Array BOOLEAN_ARRAY
           
static jq_Array BYTE_ARRAY
           
static jq_Array CHAR_ARRAY
           
static jq_Array DOUBLE_ARRAY
           
static jq_Array FLOAT_ARRAY
           
static jq_Array INT_ARRAY
           
static jq_Array LONG_ARRAY
           
static jq_Array OBJECT_ARRAY
           
static jq_Reference[] s_s_array_cache
           
static jq_Array SHORT_ARRAY
           
static boolean TRACE
           
 
Fields inherited from class joeq.Class.jq_Reference
_state, _vtable, class_loader, state, 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
 
Method Summary
 void accept(jq_TypeVisitor tv)
           
 void cls_initialize()
           
 void compile()
           
 int getDepth()
           
 int getDimensionality()
           
 jq_Reference getDirectPrimarySupertype()
           
 jq_Type getElementType()
           
 jq_Type getInnermostElementType()
           
 int getInstanceSize(int length)
           
 jq_Class getInterface(Utf8 desc)
           
 jq_Class[] getInterfaces()
           
 String getJDKDesc()
           
 String getJDKName()
           
 byte getLogElementSize()
           
 String getName()
           
static jq_Array getPrimitiveArrayType(byte atype)
           
static byte getTypecode(jq_Array array)
           
 jq_InstanceMethod getVirtualMethod(jq_NameAndDesc nd)
           
 boolean implementsInterface(jq_Class k)
           
 boolean isAddressType()
           
 boolean isArrayType()
           
 boolean isClassType()
           
 boolean isFinal()
           
 void load()
           
static jq_Array newArray(Utf8 descriptor, ClassLoader classLoader, jq_Type element_type)
           
 Object newInstance(int length)
           
 void prepare()
           
 void sf_initialize()
           
 String shortName()
           
 void verify()
           
 
Methods inherited from class joeq.Class.jq_Reference
chkState, getClassLoader, getReferenceSize, getState, getTypeOf, getVTable, isClsInitialized, isClsInitRunning, isCompiled, isInstance, isIntLike, isLoaded, isPrepared, isPrimitiveType, isSFInitialized, isVerified
 
Methods inherited from class joeq.Class.jq_Type
addEdge, convertPrimitive, getArrayTypeForElementType, getDesc, getJavaLangClassObject, isReferenceType, isSubtypeOf, needsDynamicLink, parseType, read, toString, write, writeEdges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TRACE

public static boolean TRACE

array_interfaces

public static final jq_Class[] array_interfaces

BYTE_ARRAY

public static final jq_Array BYTE_ARRAY

CHAR_ARRAY

public static final jq_Array CHAR_ARRAY

DOUBLE_ARRAY

public static final jq_Array DOUBLE_ARRAY

FLOAT_ARRAY

public static final jq_Array FLOAT_ARRAY

INT_ARRAY

public static final jq_Array INT_ARRAY

LONG_ARRAY

public static final jq_Array LONG_ARRAY

SHORT_ARRAY

public static final jq_Array SHORT_ARRAY

BOOLEAN_ARRAY

public static final jq_Array BOOLEAN_ARRAY

OBJECT_ARRAY

public static final jq_Array OBJECT_ARRAY

s_s_array_cache

public static jq_Reference[] s_s_array_cache

_class

public static final jq_Class _class
Method Detail

isClassType

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

isArrayType

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

isAddressType

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

getName

public final String getName()
Specified by:
getName in class jq_Type

shortName

public final String shortName()
Specified by:
shortName in class jq_Type

getJDKName

public final String getJDKName()
Specified by:
getJDKName in class jq_Reference

getJDKDesc

public final String getJDKDesc()
Specified by:
getJDKDesc in class jq_Type

getLogElementSize

public final byte getLogElementSize()

newInstance

public final Object newInstance(int length)

getDimensionality

public final int getDimensionality()

isFinal

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

getInterfaces

public final jq_Class[] getInterfaces()
Specified by:
getInterfaces in class jq_Reference

getInterface

public final jq_Class getInterface(Utf8 desc)
Specified by:
getInterface in class jq_Reference

implementsInterface

public final boolean implementsInterface(jq_Class k)
Specified by:
implementsInterface in class jq_Reference

getVirtualMethod

public final jq_InstanceMethod getVirtualMethod(jq_NameAndDesc nd)
Specified by:
getVirtualMethod in class jq_Reference

getElementType

public final jq_Type getElementType()

newArray

public static jq_Array newArray(Utf8 descriptor,
                                ClassLoader classLoader,
                                jq_Type element_type)

getPrimitiveArrayType

public static jq_Array getPrimitiveArrayType(byte atype)

getTypecode

public static byte getTypecode(jq_Array array)

getInstanceSize

public final int getInstanceSize(int length)

getInnermostElementType

public final jq_Type getInnermostElementType()

getDepth

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

getDirectPrimarySupertype

public final jq_Reference getDirectPrimarySupertype()
Specified by:
getDirectPrimarySupertype in class jq_Reference

load

public final void load()
Specified by:
load in class jq_Type

verify

public final void verify()
Specified by:
verify in class jq_Type

prepare

public final void prepare()
Specified by:
prepare in class jq_Type

sf_initialize

public final void sf_initialize()
Specified by:
sf_initialize in class jq_Type

compile

public final void compile()
Specified by:
compile in class jq_Type

cls_initialize

public final void cls_initialize()
Specified by:
cls_initialize in class jq_Type

accept

public void accept(jq_TypeVisitor tv)
Overrides:
accept in class jq_Type


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