Clazz
Class jq_Method

java.lang.Object
Clazz.jq_Member
Clazz.jq_Method
- All Implemented Interfaces:
- Compil3r.Quad.AndersenInterface.AndersenMember, Compil3r.Quad.AndersenInterface.AndersenMethod, jq_ClassFileConstants
- Direct Known Subclasses:
- jq_InstanceMethod, jq_StaticMethod
- public abstract class jq_Method
- extends jq_Member
- implements Compil3r.Quad.AndersenInterface.AndersenMethod
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_MethodVisitor mv)
|
Compil3r.Quad.AndersenInterface.AndersenType |
and_getReturnType()
|
private static jq_Method.Delegate |
attemptDelegate(java.lang.String s)
|
jq_CompiledCode |
compile_stub()
|
jq_CompiledCode |
compile()
|
void |
dumpAttributes(java.io.DataOutput out,
jq_ConstantPool.ConstantPoolRebuilder cpr)
|
byte[] |
getBytecode()
|
byte[] |
getCodeAttribute(java.lang.String name)
|
byte[] |
getCodeAttribute(UTF.Utf8 a)
|
jq_CompiledCode |
getDefaultCompiledVersion()
|
jq_TryCatchBC[] |
getExceptionTable()
|
Compil3r.BytecodeAnalysis.Bytecodes.CodeException[] |
getExceptionTable(Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
|
int |
getLineNumber(int bci)
|
jq_LineNumberBC[] |
getLineNumberTable()
|
Compil3r.BytecodeAnalysis.Bytecodes.LineNumber[] |
getLineNumberTable(Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
|
jq_LocalVarTableEntry |
getLocalVarTableEntry(int bci,
int index)
|
char |
getMaxLocals()
|
char |
getMaxStack()
|
jq_Type[] |
getParamTypes()
|
int |
getParamWords()
|
jq_Type |
getReturnType()
|
int |
getReturnWords()
|
boolean |
isAbstract()
|
boolean |
isBodyLoaded()
|
boolean |
isNative()
|
boolean |
isStrict()
|
boolean |
isSynchronized()
|
void |
load(char access_flags,
char max_stack,
char max_locals,
byte[] bytecode,
jq_TryCatchBC[] exception_table,
jq_LineNumberBC[] line_num_table,
java.util.Map codeattribMap)
|
void |
load(char access_flags,
java.io.DataInput in)
|
void |
load(char access_flags,
java.util.Map attributes)
|
void |
load(jq_Method that)
|
private void |
parseAttributes()
|
protected abstract void |
parseMethodSignature()
|
abstract void |
prepare()
|
void |
remakeCodeAttribute(jq_ConstantPool.ConstantPoolRebuilder cpr)
|
void |
setCode(Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il,
Compil3r.BytecodeAnalysis.Bytecodes.CodeException[] ex_table,
Compil3r.BytecodeAnalysis.Bytecodes.LineNumber[] line_num,
jq_ConstantPool.ConstantPoolRebuilder cpr)
|
void |
setDefaultCompiledVersion(jq_CompiledCode cc)
|
void |
setMaxLocals(char m)
|
void |
setMaxStack(char m)
|
java.lang.String |
toString()
Convert this Object to a human-readable String. |
void |
update(jq_ConstantPool.ConstantPoolRebuilder cpr)
|
Methods inherited from class Clazz.jq_Member |
and_getDeclaringClass, checkAccessFlag, chkState, dump, getAccessFlags, getAttribute, getAttribute, getAttributes, getDeclaringClass, getDesc, getJavaLangReflectMemberObject, getName, getNameAndDesc, getState, hashCode, isDeprecated, isFinal, isLoaded, isPrivate, isProtected, isPublic, isStatic, isSynthetic, needsDynamicLink, removeAttribute, removeAttribute, resolve, setDeclaringClass, setNameAndDesc, unload |
max_stack
protected char max_stack
max_locals
protected char max_locals
bytecode
protected byte[] bytecode
exception_table
protected jq_TryCatchBC[] exception_table
line_num_table
protected jq_LineNumberBC[] line_num_table
localvar_table
protected jq_LocalVarTableEntry[] localvar_table
codeattribMap
protected java.util.Map codeattribMap
param_types
protected jq_Type[] param_types
return_type
protected jq_Type return_type
param_words
protected int param_words
default_compiled_version
protected jq_CompiledCode default_compiled_version
_delegate
private static jq_Method.Delegate _delegate
_class
public static final jq_Class _class
_compile
public static final jq_InstanceMethod _compile
jq_Method
protected jq_Method(jq_Class clazz,
jq_NameAndDesc nd)
load
public final void load(jq_Method that)
load
public final void load(char access_flags,
char max_stack,
char max_locals,
byte[] bytecode,
jq_TryCatchBC[] exception_table,
jq_LineNumberBC[] line_num_table,
java.util.Map codeattribMap)
load
public final void load(char access_flags,
java.util.Map attributes)
throws java.lang.ClassFormatError
- Overrides:
load
in class jq_Member
load
public final void load(char access_flags,
java.io.DataInput in)
throws java.io.IOException,
java.lang.ClassFormatError
- Overrides:
load
in class jq_Member
parseAttributes
private final void parseAttributes()
throws java.lang.ClassFormatError
getExceptionTable
public Compil3r.BytecodeAnalysis.Bytecodes.CodeException[] getExceptionTable(Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
getLineNumberTable
public Compil3r.BytecodeAnalysis.Bytecodes.LineNumber[] getLineNumberTable(Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il)
setCode
public void setCode(Compil3r.BytecodeAnalysis.Bytecodes.InstructionList il,
Compil3r.BytecodeAnalysis.Bytecodes.CodeException[] ex_table,
Compil3r.BytecodeAnalysis.Bytecodes.LineNumber[] line_num,
jq_ConstantPool.ConstantPoolRebuilder cpr)
update
public void update(jq_ConstantPool.ConstantPoolRebuilder cpr)
remakeCodeAttribute
public void remakeCodeAttribute(jq_ConstantPool.ConstantPoolRebuilder cpr)
dumpAttributes
public void dumpAttributes(java.io.DataOutput out,
jq_ConstantPool.ConstantPoolRebuilder cpr)
throws java.io.IOException
- Overrides:
dumpAttributes
in class jq_Member
prepare
public abstract void prepare()
compile_stub
public final jq_CompiledCode compile_stub()
compile
public final jq_CompiledCode compile()
setDefaultCompiledVersion
public final void setDefaultCompiledVersion(jq_CompiledCode cc)
getReturnWords
public final int getReturnWords()
parseMethodSignature
protected abstract void parseMethodSignature()
isSynchronized
public final boolean isSynchronized()
isNative
public final boolean isNative()
isAbstract
public final boolean isAbstract()
isStrict
public final boolean isStrict()
getDefaultCompiledVersion
public final jq_CompiledCode getDefaultCompiledVersion()
getMaxStack
public char getMaxStack()
setMaxStack
public void setMaxStack(char m)
getMaxLocals
public char getMaxLocals()
setMaxLocals
public void setMaxLocals(char m)
getBytecode
public byte[] getBytecode()
getExceptionTable
public jq_TryCatchBC[] getExceptionTable()
getLocalVarTableEntry
public jq_LocalVarTableEntry getLocalVarTableEntry(int bci,
int index)
getLineNumber
public int getLineNumber(int bci)
getLineNumberTable
public jq_LineNumberBC[] getLineNumberTable()
getParamTypes
public jq_Type[] getParamTypes()
getParamWords
public int getParamWords()
getReturnType
public final jq_Type getReturnType()
and_getReturnType
public final Compil3r.Quad.AndersenInterface.AndersenType and_getReturnType()
- Specified by:
and_getReturnType
in interface Compil3r.Quad.AndersenInterface.AndersenMethod
getCodeAttribute
public byte[] getCodeAttribute(UTF.Utf8 a)
getCodeAttribute
public final byte[] getCodeAttribute(java.lang.String name)
accept
public void accept(jq_MethodVisitor mv)
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object
- Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method
never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string
concatenation with this object. If the result is
null
, string concatenation will instead
use "null"
.
The default implementation returns
getClass().getName() + "@" +
Integer.toHexString(hashCode())
.
isBodyLoaded
public boolean isBodyLoaded()
- Specified by:
isBodyLoaded
in interface Compil3r.Quad.AndersenInterface.AndersenMethod
attemptDelegate
private static jq_Method.Delegate attemptDelegate(java.lang.String s)