Clazz
Class jq_Class

java.lang.Object
Clazz.jq_Type
Clazz.jq_Reference
Clazz.jq_Class
- All Implemented Interfaces:
- Compil3r.Quad.AndersenInterface.AndersenClass, Compil3r.Quad.AndersenInterface.AndersenReference, Compil3r.Quad.AndersenInterface.AndersenType, jq_ClassFileConstants
- public final class jq_Class
- extends jq_Reference
- implements jq_ClassFileConstants, Compil3r.Quad.AndersenInterface.AndersenClass
jq_Class
- Version:
- $Id: jq_Class.java,v 1.66 2003/08/03 12:26:00 joewhaley Exp $
Fields inherited from interface Clazz.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_PREPARING, STATE_SFINITIALIZED, STATE_SFINITIALIZING, STATE_UNLOADED, STATE_VERIFIED, 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)
|
private void |
addDeclaredMember(jq_NameAndDesc nd,
jq_Member m)
|
private void |
addSubclass(jq_Class subclass)
|
private void |
addSubinterface(jq_Class subinterface)
|
Compil3r.Quad.AndersenInterface.AndersenClassInitializer |
and_getClassInitializer()
|
private static jq_Class.Delegate |
attemptDelegate(java.lang.String s)
|
static java.lang.String |
className(UTF.Utf8 desc)
|
void |
cls_initialize()
|
void |
compile()
|
(package private) jq_InstanceField |
createInstanceField(jq_NameAndDesc nd)
|
(package private) jq_InstanceMethod |
createInstanceMethod(jq_NameAndDesc nd)
|
(package private) jq_StaticField |
createStaticField(jq_NameAndDesc nd)
|
(package private) jq_StaticMethod |
createStaticMethod(jq_NameAndDesc nd)
|
boolean |
doesConstantPoolContain(java.lang.Object o)
|
void |
dump(java.io.DataOutput out)
|
private static jq_Member |
findByNameAndDesc(jq_Member[] array,
jq_NameAndDesc nd)
|
jq_InstanceMethod |
generateInstanceMethodStub(jq_NameAndDesc nd,
jq_StaticMethod m,
char access_flags,
char method_idx)
|
jq_StaticMethod |
generateStaticMethodStub(jq_NameAndDesc nd,
jq_StaticMethod m,
char access_flags,
char classfield_idx,
char method_idx)
|
char |
getAccessFlags()
|
byte[] |
getAttribute(java.lang.String name)
|
byte[] |
getAttribute(UTF.Utf8 name)
|
java.util.Iterator |
getAttributes()
|
jq_ClassInitializer |
getClassInitializer()
|
jq_ConstantPool |
getCP()
|
java.lang.Object |
getCP(char index)
|
java.lang.Double |
getCPasDouble(char index)
|
java.lang.Float |
getCPasFloat(char index)
|
jq_InstanceField |
getCPasInstanceField(char index)
|
jq_InstanceMethod |
getCPasInstanceMethod(char index)
|
java.lang.Integer |
getCPasInt(char index)
|
java.lang.Long |
getCPasLong(char index)
|
jq_Member |
getCPasMember(char index)
|
jq_StaticField |
getCPasStaticField(char index)
|
jq_StaticMethod |
getCPasStaticMethod(char index)
|
java.lang.String |
getCPasString(char index)
|
jq_Type |
getCPasType(char index)
|
UTF.Utf8 |
getCPasUtf8(char index)
|
int |
getCPCount()
|
byte |
getCPtag(char index)
|
jq_InstanceField |
getDeclaredInstanceField(jq_NameAndDesc nd)
|
jq_InstanceField[] |
getDeclaredInstanceFields()
|
jq_InstanceMethod |
getDeclaredInstanceMethod(jq_NameAndDesc nd)
|
jq_InstanceMethod[] |
getDeclaredInstanceMethods()
|
jq_Class |
getDeclaredInterface(UTF.Utf8 desc)
|
jq_Class[] |
getDeclaredInterfaces()
|
jq_Member |
getDeclaredMember(jq_NameAndDesc nd)
|
jq_Member |
getDeclaredMember(java.lang.String name,
java.lang.String desc)
|
jq_StaticField |
getDeclaredStaticField(jq_NameAndDesc nd)
|
jq_StaticField[] |
getDeclaredStaticFields()
|
jq_StaticMethod |
getDeclaredStaticMethod(jq_NameAndDesc nd)
|
jq_StaticMethod[] |
getDeclaredStaticMethods()
|
int |
getDepth()
|
jq_Reference |
getDirectPrimarySupertype()
|
jq_Initializer |
getInitializer(jq_NameAndDesc nd)
|
jq_Initializer |
getInitializer(UTF.Utf8 desc)
|
jq_Class[] |
getInnerClasses()
|
jq_InstanceField |
getInstanceField(jq_NameAndDesc nd)
|
jq_InstanceField[] |
getInstanceFields()
|
jq_InstanceMethod |
getInstanceMethod(jq_NameAndDesc nd)
|
int |
getInstanceSize()
|
jq_Class |
getInterface(UTF.Utf8 desc)
|
jq_Class[] |
getInterfaces()
|
static jq_InstanceMethod |
getInvokespecialTarget(jq_Class clazz,
jq_InstanceMethod method)
|
java.lang.String |
getJDKDesc()
|
java.lang.String |
getJDKName()
|
int |
getMajorVersion()
|
java.util.Collection |
getMembers()
|
int |
getMinorVersion()
|
java.lang.String |
getName()
|
int |
getNumberOfStaticFields()
|
int |
getNumberOfStaticMethods()
|
jq_InstanceField |
getOrCreateInstanceField(jq_NameAndDesc nd)
|
jq_InstanceField |
getOrCreateInstanceField(java.lang.String name,
java.lang.String desc)
|
jq_InstanceMethod |
getOrCreateInstanceMethod(jq_NameAndDesc nd)
|
jq_InstanceMethod |
getOrCreateInstanceMethod(java.lang.String name,
java.lang.String desc)
|
jq_StaticField |
getOrCreateStaticField(jq_NameAndDesc nd)
|
jq_StaticField |
getOrCreateStaticField(java.lang.String name,
java.lang.String desc)
|
jq_StaticMethod |
getOrCreateStaticMethod(jq_NameAndDesc nd)
|
jq_StaticMethod |
getOrCreateStaticMethod(java.lang.String name,
java.lang.String desc)
|
int[] |
getReferenceOffsets()
|
UTF.Utf8 |
getSourceFile()
|
int[] |
getStaticData()
|
jq_StaticField |
getStaticField(jq_NameAndDesc nd)
|
private int |
getStaticFields_helper(jq_StaticField[] sfs,
int current)
|
jq_StaticField[] |
getStaticFields()
|
jq_StaticMethod |
getStaticMethod(jq_NameAndDesc nd)
|
private int |
getStaticMethods_helper(jq_StaticMethod[] sfs,
int current)
|
jq_StaticMethod[] |
getStaticMethods()
|
jq_Class[] |
getSubClasses()
|
jq_Class[] |
getSubInterfaces()
|
jq_Class |
getSuperclass()
|
jq_InstanceMethod |
getVirtualMethod(jq_NameAndDesc nd)
|
jq_InstanceMethod[] |
getVirtualMethods()
|
int |
hashCode()
Get a value that represents this Object, as uniquely as
possible within the confines of an int. |
boolean |
implementsInterface(jq_Class k)
|
private void |
invokeclinit()
|
boolean |
isAbstract()
|
boolean |
isAddressType()
|
boolean |
isArrayType()
|
boolean |
isClassType()
INTERFACE |
boolean |
isDeprecated()
|
boolean |
isFinal()
|
boolean |
isInClassLib()
|
boolean |
isInSamePackage(jq_Class that)
|
boolean |
isInterface()
|
boolean |
isPublic()
|
boolean |
isSpecial()
|
boolean |
isSynthetic()
|
void |
load()
Loads the binary data for this class. |
void |
load(java.io.DataInput in)
|
void |
merge_old(jq_Class that)
|
void |
merge(jq_Class that)
|
boolean |
needsDynamicLink(jq_Method method)
|
static jq_Class |
newClass(java.lang.ClassLoader classLoader,
UTF.Utf8 desc)
|
java.lang.Object |
newInstance()
|
void |
prepare()
|
(package private) void |
readAttributes(java.io.DataInput in,
java.util.Map attribMap)
|
jq_ConstantPool.ConstantPoolRebuilder |
rebuildConstantPool(boolean addCode)
|
void |
remakeAttributes(jq_ConstantPool.ConstantPoolRebuilder cpr)
|
void |
removeAttribute(java.lang.String s)
|
void |
removeAttribute(UTF.Utf8 u)
|
private void |
removeSubclass(jq_Class subclass)
|
private void |
removeSubinterface(jq_Class subinterface)
|
private void |
replaceMethodIn(jq_Class old)
|
private void |
rewriteMethod(jq_ConstantPool.ConstantPoolRebuilder cp,
Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
|
private void |
rewriteMethodForReplace(jq_ConstantPool.ConstantPoolRebuilder cp,
Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
|
void |
setCP(jq_ConstantPool cp)
|
void |
setDeclaredInstanceFields(jq_InstanceField[] dif)
|
void |
setDeclaredInstanceMethods(jq_InstanceMethod[] dim)
|
void |
setDeclaredStaticFields(jq_StaticField[] dsf)
|
void |
setDeclaredStaticMethods(jq_StaticMethod[] dsm)
|
void |
setStaticData(jq_StaticField sf,
Memory.Address data)
|
void |
setStaticData(jq_StaticField sf,
double data)
|
void |
setStaticData(jq_StaticField sf,
float data)
|
void |
setStaticData(jq_StaticField sf,
int data)
|
void |
setStaticData(jq_StaticField sf,
long data)
|
void |
setStaticData(jq_StaticField sf,
java.lang.Object data)
|
void |
sf_initialize()
|
java.lang.String |
shortName()
|
void |
verify()
|
Methods inherited from class Clazz.jq_Reference |
chkState, getClassLoader, getReferenceSize, getState, getTypeOf, getVTable, isClsInitialized, isClsInitRunning, isCompiled, isInstance, isIntLike, isLoaded, isPrepared, isPrimitiveType, isSFInitialized, isVerified |
TRACE
public static boolean TRACE
WARN_STALE_CLASS_FILES
public static boolean WARN_STALE_CLASS_FILES
REPLACE_CLASS
public static boolean REPLACE_CLASS
TRACE_REPLACE_CLASS
public static boolean TRACE_REPLACE_CLASS
classToReplace
public static java.util.List classToReplace
DETERMINISTIC
public static final boolean DETERMINISTIC
- See Also:
- Constant Field Values
members
private java.util.Map members
minor_version
private char minor_version
major_version
private char major_version
access_flags
private char access_flags
super_class
private jq_Class super_class
subclasses
private jq_Class[] subclasses
subinterfaces
private jq_Class[] subinterfaces
declared_interfaces
private jq_Class[] declared_interfaces
interfaces
private jq_Class[] interfaces
static_fields
private jq_StaticField[] static_fields
static_methods
private jq_StaticMethod[] static_methods
declared_instance_fields
private jq_InstanceField[] declared_instance_fields
declared_instance_methods
private jq_InstanceMethod[] declared_instance_methods
attributes
private java.util.Map attributes
const_pool
private jq_ConstantPool const_pool
static_data_size
private int static_data_size
instance_size
private int instance_size
instance_fields
private jq_InstanceField[] instance_fields
reference_offsets
private int[] reference_offsets
virtual_methods
private jq_InstanceMethod[] virtual_methods
static_data
private int[] static_data
dont_align
private boolean dont_align
NumOfIFieldsKept
public static int NumOfIFieldsKept
NumOfSFieldsKept
public static int NumOfSFieldsKept
NumOfIMethodsKept
public static int NumOfIMethodsKept
NumOfSMethodsKept
public static int NumOfSMethodsKept
NumOfIFieldsEliminated
public static int NumOfIFieldsEliminated
NumOfSFieldsEliminated
public static int NumOfSFieldsEliminated
NumOfIMethodsEliminated
public static int NumOfIMethodsEliminated
NumOfSMethodsEliminated
public static int NumOfSMethodsEliminated
_class
public static final jq_Class _class
_delegate
private static jq_Class.Delegate _delegate
jq_Class
private jq_Class(java.lang.ClassLoader class_loader,
UTF.Utf8 desc)
- Private constructor.
Use a ClassLoader to create a jq_Class instance.
isClassType
public final boolean isClassType()
- INTERFACE
- Specified by:
isClassType
in class jq_Type
isArrayType
public final boolean isArrayType()
- Specified by:
isArrayType
in interface Compil3r.Quad.AndersenInterface.AndersenType
- Specified by:
isArrayType
in class jq_Type
isAddressType
public final boolean isAddressType()
- Specified by:
isAddressType
in class jq_Type
getName
public final java.lang.String getName()
- Specified by:
getName
in class jq_Type
shortName
public final java.lang.String shortName()
- Specified by:
shortName
in class jq_Type
isInSamePackage
public final boolean isInSamePackage(jq_Class that)
getJDKName
public final java.lang.String getJDKName()
- Specified by:
getJDKName
in class jq_Reference
getJDKDesc
public final java.lang.String getJDKDesc()
- Specified by:
getJDKDesc
in class jq_Type
needsDynamicLink
public final boolean needsDynamicLink(jq_Method method)
- Overrides:
needsDynamicLink
in class jq_Type
getDeclaredMember
public jq_Member getDeclaredMember(jq_NameAndDesc nd)
getDeclaredMember
public jq_Member getDeclaredMember(java.lang.String name,
java.lang.String desc)
getMembers
public java.util.Collection getMembers()
addDeclaredMember
private void addDeclaredMember(jq_NameAndDesc nd,
jq_Member m)
accept
public void accept(jq_TypeVisitor tv)
- Overrides:
accept
in class jq_Type
hashCode
public int hashCode()
- Description copied from class:
java.lang.Object
- Get a value that represents this Object, as uniquely as
possible within the confines of an int.
There are some requirements on this method which
subclasses must follow:
- Semantic equality implies identical hashcodes. In other
words, if
a.equals(b)
is true, then
a.hashCode() == b.hashCode()
must be as well.
However, the reverse is not necessarily true, and two
objects may have the same hashcode without being equal.
- It must be consistent. Whichever value o.hashCode()
returns on the first invocation must be the value
returned on all later invocations as long as the object
exists. Notice, however, that the result of hashCode may
change between separate executions of a Virtual Machine,
because it is not invoked on the same object.
Notice that since hashCode
is used in
java.util.Hashtable and other hashing classes,
a poor implementation will degrade the performance of hashing
(so don't blindly implement it as returning a constant!). Also,
if calculating the hash is time-consuming, a class may consider
caching the results.
The default implementation returns
System.identityHashCode(this)
getMinorVersion
public final int getMinorVersion()
getMajorVersion
public final int getMajorVersion()
getAccessFlags
public final char getAccessFlags()
isPublic
public final boolean isPublic()
isFinal
public final boolean isFinal()
- Specified by:
isFinal
in class jq_Type
isSpecial
public final boolean isSpecial()
isInterface
public final boolean isInterface()
isAbstract
public final boolean isAbstract()
getSuperclass
public final jq_Class getSuperclass()
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
getDeclaredInterfaces
public final jq_Class[] getDeclaredInterfaces()
getDeclaredInterface
public final jq_Class getDeclaredInterface(UTF.Utf8 desc)
getDeclaredInstanceFields
public final jq_InstanceField[] getDeclaredInstanceFields()
getDeclaredInstanceField
public final jq_InstanceField getDeclaredInstanceField(jq_NameAndDesc nd)
setDeclaredInstanceFields
public final void setDeclaredInstanceFields(jq_InstanceField[] dif)
getDeclaredStaticFields
public final jq_StaticField[] getDeclaredStaticFields()
getDeclaredStaticField
public final jq_StaticField getDeclaredStaticField(jq_NameAndDesc nd)
setDeclaredStaticFields
public final void setDeclaredStaticFields(jq_StaticField[] dsf)
getStaticField
public final jq_StaticField getStaticField(jq_NameAndDesc nd)
getNumberOfStaticFields
public final int getNumberOfStaticFields()
getStaticFields_helper
private int getStaticFields_helper(jq_StaticField[] sfs,
int current)
getStaticFields
public final jq_StaticField[] getStaticFields()
getDeclaredInstanceMethods
public final jq_InstanceMethod[] getDeclaredInstanceMethods()
getDeclaredInstanceMethod
public final jq_InstanceMethod getDeclaredInstanceMethod(jq_NameAndDesc nd)
setDeclaredInstanceMethods
public final void setDeclaredInstanceMethods(jq_InstanceMethod[] dim)
getDeclaredStaticMethods
public final jq_StaticMethod[] getDeclaredStaticMethods()
getDeclaredStaticMethod
public final jq_StaticMethod getDeclaredStaticMethod(jq_NameAndDesc nd)
setDeclaredStaticMethods
public final void setDeclaredStaticMethods(jq_StaticMethod[] dsm)
getStaticMethod
public final jq_StaticMethod getStaticMethod(jq_NameAndDesc nd)
getNumberOfStaticMethods
public final int getNumberOfStaticMethods()
getStaticMethods_helper
private int getStaticMethods_helper(jq_StaticMethod[] sfs,
int current)
getStaticMethods
public final jq_StaticMethod[] getStaticMethods()
getInstanceMethod
public final jq_InstanceMethod getInstanceMethod(jq_NameAndDesc nd)
getInitializer
public final jq_Initializer getInitializer(UTF.Utf8 desc)
getInitializer
public final jq_Initializer getInitializer(jq_NameAndDesc nd)
getClassInitializer
public final jq_ClassInitializer getClassInitializer()
and_getClassInitializer
public final Compil3r.Quad.AndersenInterface.AndersenClassInitializer and_getClassInitializer()
- Specified by:
and_getClassInitializer
in interface Compil3r.Quad.AndersenInterface.AndersenClass
getCP
public final jq_ConstantPool getCP()
setCP
public final void setCP(jq_ConstantPool cp)
getCP
public final java.lang.Object getCP(char index)
getCPCount
public final int getCPCount()
getCPtag
public final byte getCPtag(char index)
getCPasInt
public final java.lang.Integer getCPasInt(char index)
getCPasFloat
public final java.lang.Float getCPasFloat(char index)
getCPasLong
public final java.lang.Long getCPasLong(char index)
getCPasDouble
public final java.lang.Double getCPasDouble(char index)
getCPasString
public final java.lang.String getCPasString(char index)
getCPasUtf8
public final UTF.Utf8 getCPasUtf8(char index)
getCPasType
public final jq_Type getCPasType(char index)
getCPasMember
public final jq_Member getCPasMember(char index)
getOrCreateStaticField
public jq_StaticField getOrCreateStaticField(java.lang.String name,
java.lang.String desc)
getOrCreateStaticField
public jq_StaticField getOrCreateStaticField(jq_NameAndDesc nd)
createStaticField
jq_StaticField createStaticField(jq_NameAndDesc nd)
getCPasStaticField
public final jq_StaticField getCPasStaticField(char index)
getOrCreateInstanceField
public jq_InstanceField getOrCreateInstanceField(java.lang.String name,
java.lang.String desc)
getOrCreateInstanceField
public jq_InstanceField getOrCreateInstanceField(jq_NameAndDesc nd)
createInstanceField
jq_InstanceField createInstanceField(jq_NameAndDesc nd)
getCPasInstanceField
public final jq_InstanceField getCPasInstanceField(char index)
getOrCreateStaticMethod
public jq_StaticMethod getOrCreateStaticMethod(java.lang.String name,
java.lang.String desc)
getOrCreateStaticMethod
public jq_StaticMethod getOrCreateStaticMethod(jq_NameAndDesc nd)
createStaticMethod
jq_StaticMethod createStaticMethod(jq_NameAndDesc nd)
getCPasStaticMethod
public final jq_StaticMethod getCPasStaticMethod(char index)
getOrCreateInstanceMethod
public jq_InstanceMethod getOrCreateInstanceMethod(java.lang.String name,
java.lang.String desc)
getOrCreateInstanceMethod
public jq_InstanceMethod getOrCreateInstanceMethod(jq_NameAndDesc nd)
createInstanceMethod
jq_InstanceMethod createInstanceMethod(jq_NameAndDesc nd)
getCPasInstanceMethod
public final jq_InstanceMethod getCPasInstanceMethod(char index)
getAttribute
public final byte[] getAttribute(UTF.Utf8 name)
getAttribute
public final byte[] getAttribute(java.lang.String name)
getAttributes
public final java.util.Iterator getAttributes()
getSourceFile
public final UTF.Utf8 getSourceFile()
isSynthetic
public final boolean isSynthetic()
isDeprecated
public final boolean isDeprecated()
removeAttribute
public final void removeAttribute(java.lang.String s)
removeAttribute
public final void removeAttribute(UTF.Utf8 u)
getInnerClasses
public final jq_Class[] getInnerClasses()
getSubClasses
public final jq_Class[] getSubClasses()
getSubInterfaces
public final jq_Class[] getSubInterfaces()
getInterfaces
public final jq_Class[] getInterfaces()
- Specified by:
getInterfaces
in class jq_Reference
getInterface
public final jq_Class getInterface(UTF.Utf8 desc)
- Specified by:
getInterface
in class jq_Reference
implementsInterface
public final boolean implementsInterface(jq_Class k)
- Specified by:
implementsInterface
in class jq_Reference
getInstanceFields
public final jq_InstanceField[] getInstanceFields()
getReferenceOffsets
public final int[] getReferenceOffsets()
getInstanceField
public final jq_InstanceField getInstanceField(jq_NameAndDesc nd)
getVirtualMethods
public final jq_InstanceMethod[] getVirtualMethods()
getVirtualMethod
public final jq_InstanceMethod getVirtualMethod(jq_NameAndDesc nd)
- Specified by:
getVirtualMethod
in class jq_Reference
getInstanceSize
public final int getInstanceSize()
getStaticData
public final int[] getStaticData()
setStaticData
public final void setStaticData(jq_StaticField sf,
int data)
setStaticData
public final void setStaticData(jq_StaticField sf,
long data)
setStaticData
public final void setStaticData(jq_StaticField sf,
float data)
setStaticData
public final void setStaticData(jq_StaticField sf,
double data)
setStaticData
public final void setStaticData(jq_StaticField sf,
java.lang.Object data)
setStaticData
public final void setStaticData(jq_StaticField sf,
Memory.Address data)
newInstance
public final java.lang.Object newInstance()
findByNameAndDesc
private static jq_Member findByNameAndDesc(jq_Member[] array,
jq_NameAndDesc nd)
newClass
public static jq_Class newClass(java.lang.ClassLoader classLoader,
UTF.Utf8 desc)
load
public void load()
throws java.lang.ClassFormatError,
java.lang.UnsupportedClassVersionError,
java.lang.ClassCircularityError,
java.lang.NoClassDefFoundError
- Loads the binary data for this class. See Jvm spec 2.17.2.
Throws: ClassFormatError if the binary data is malformed in some way
UnsupportedClassVersionError if the binary data is of an unsupported version
ClassCircularityError if it would be its own superclass or superinterface
NoClassDefFoundError if the class definition cannot be found
- Specified by:
load
in interface Compil3r.Quad.AndersenInterface.AndersenClass
- Specified by:
load
in class jq_Type
load
public void load(java.io.DataInput in)
throws java.lang.ClassFormatError,
java.lang.UnsupportedClassVersionError,
java.lang.ClassCircularityError
replaceMethodIn
private void replaceMethodIn(jq_Class old)
isInClassLib
public boolean isInClassLib()
doesConstantPoolContain
public boolean doesConstantPoolContain(java.lang.Object o)
generateStaticMethodStub
public jq_StaticMethod generateStaticMethodStub(jq_NameAndDesc nd,
jq_StaticMethod m,
char access_flags,
char classfield_idx,
char method_idx)
generateInstanceMethodStub
public jq_InstanceMethod generateInstanceMethodStub(jq_NameAndDesc nd,
jq_StaticMethod m,
char access_flags,
char method_idx)
merge
public void merge(jq_Class that)
remakeAttributes
public void remakeAttributes(jq_ConstantPool.ConstantPoolRebuilder cpr)
rewriteMethod
private void rewriteMethod(jq_ConstantPool.ConstantPoolRebuilder cp,
Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
rewriteMethodForReplace
private void rewriteMethodForReplace(jq_ConstantPool.ConstantPoolRebuilder cp,
Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
merge_old
public void merge_old(jq_Class that)
verify
public void verify()
- Specified by:
verify
in interface Compil3r.Quad.AndersenInterface.AndersenClass
- Specified by:
verify
in class jq_Type
prepare
public void prepare()
- Specified by:
prepare
in interface Compil3r.Quad.AndersenInterface.AndersenClass
- Specified by:
prepare
in class jq_Type
sf_initialize
public void sf_initialize()
- Specified by:
sf_initialize
in class jq_Type
compile
public void compile()
- Specified by:
compile
in class jq_Type
cls_initialize
public void cls_initialize()
throws java.lang.ExceptionInInitializerError,
java.lang.NoClassDefFoundError
- Specified by:
cls_initialize
in class jq_Type
invokeclinit
private void invokeclinit()
throws java.lang.ExceptionInInitializerError
readAttributes
void readAttributes(java.io.DataInput in,
java.util.Map attribMap)
throws java.io.IOException
className
public static java.lang.String className(UTF.Utf8 desc)
addSubclass
private void addSubclass(jq_Class subclass)
addSubinterface
private void addSubinterface(jq_Class subinterface)
removeSubclass
private void removeSubclass(jq_Class subclass)
removeSubinterface
private void removeSubinterface(jq_Class subinterface)
getInvokespecialTarget
public static jq_InstanceMethod getInvokespecialTarget(jq_Class clazz,
jq_InstanceMethod method)
throws java.lang.AbstractMethodError
rebuildConstantPool
public jq_ConstantPool.ConstantPoolRebuilder rebuildConstantPool(boolean addCode)
dump
public void dump(java.io.DataOutput out)
throws java.io.IOException
attemptDelegate
private static jq_Class.Delegate attemptDelegate(java.lang.String s)