joeq.Class
Class jq_Method

java.lang.Object
  extended by joeq.Class.jq_Member
      extended by joeq.Class.jq_Method
All Implemented Interfaces:
jq_ClassFileConstants, jwutil.io.Textualizable
Direct Known Subclasses:
jq_InstanceMethod, jq_StaticMethod

public abstract class jq_Method
extends jq_Member


Nested Class Summary
 
Nested classes/interfaces inherited from class joeq.Class.jq_Member
jq_Member.FilterByName, jq_Member.FilterByShortClassName
 
Field Summary
static jq_Class _class
           
static jq_InstanceMethod _compile
           
static jq_InstanceField _default_compiled_version
           
protected  byte[] bytecode
           
protected  Map codeattribMap
           
protected  jq_CompiledCode default_compiled_version
           
protected  jq_TryCatchBC[] exception_table
           
protected  jq_LineNumberBC[] line_num_table
           
protected  jq_LocalVarTableEntry[] localvar_table
           
protected  char max_locals
           
protected  char max_stack
           
protected  jq_Type[] param_types
           
protected  int param_words
           
protected  jq_Type return_type
           
protected  jq_Class[] thrown_exceptions_table
           
 
Fields inherited from class joeq.Class.jq_Member
_state, access_flags, attributes, clazz, DETERMINISTIC, nd, state, USE_MEMBER_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_Method(jq_Class clazz, jq_NameAndDesc nd)
           
 
Method Summary
 void accept(jq_MethodVisitor mv)
           
 jq_CompiledCode compile_stub()
           
 jq_CompiledCode compile()
           
 void dumpAttributes(DataOutput out, jq_ConstantPool.ConstantPoolRebuilder cpr)
           
 byte[] getBytecode()
           
 byte[] getCodeAttribute(String name)
           
 byte[] getCodeAttribute(Utf8 a)
           
 jq_CompiledCode getDefaultCompiledVersion()
           
 jq_TryCatchBC[] getExceptionTable()
           
 Bytecodes.CodeException[] getExceptionTable(Bytecodes.InstructionList il)
           
 jq_LineNumberBC getLineNumber(char linenum)
           
 int getLineNumber(int bci)
           
 jq_LineNumberBC[] getLineNumberTable()
           
 Bytecodes.LineNumber[] getLineNumberTable(Bytecodes.InstructionList il)
           
 jq_LocalVarTableEntry getLocalVarTableEntry(int bci, int index)
           
 char getMaxLocals()
           
 char getMaxStack()
           
 jq_Type[] getParamTypes()
           
 int getParamWords()
           
 jq_Type getReturnType()
           
 int getReturnWords()
           
 jq_Class[] getThrownExceptionsTable()
           
 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, Map codeattribMap)
           
 void load(char access_flags, DataInput in)
           
 void load(char access_flags, Map attributes)
           
 void load(jq_Method that)
           
protected abstract  void parseMethodSignature()
           
abstract  void prepare()
           
 void remakeCodeAttribute(jq_ConstantPool.ConstantPoolRebuilder cpr)
           
 void setCode(Bytecodes.InstructionList il, Bytecodes.CodeException[] ex_table, Bytecodes.LineNumber[] line_num, jq_ConstantPool.ConstantPoolRebuilder cpr)
           
 void setDefaultCompiledVersion(jq_CompiledCode cc)
           
 void setMaxLocals(char m)
           
 void setMaxStack(char m)
           
 String toString()
           
 void update(jq_ConstantPool.ConstantPoolRebuilder cpr)
           
 
Methods inherited from class joeq.Class.jq_Member
addEdge, checkAccessFlag, chkState, dump, getAccessFlags, getAttribute, getAttribute, getAttributes, getDeclaringClass, getDesc, getJavaLangReflectMemberObject, getName, getNameAndDesc, getState, hashCode, isDeprecated, isFinal, isInitialized, isLoaded, isPrepared, isPrivate, isProtected, isPublic, isStatic, isSynthetic, needsDynamicLink, parseMember, read, removeAttribute, removeAttribute, resolve, setDeclaringClass, setNameAndDesc, unload, write, writeEdges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

max_stack

protected char max_stack

max_locals

protected char max_locals

thrown_exceptions_table

protected jq_Class[] thrown_exceptions_table

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 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

_class

public static final jq_Class _class

_compile

public static final jq_InstanceMethod _compile

_default_compiled_version

public static final jq_InstanceField _default_compiled_version
Constructor Detail

jq_Method

protected jq_Method(jq_Class clazz,
                    jq_NameAndDesc nd)
Method Detail

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,
                       Map codeattribMap)

load

public final void load(char access_flags,
                       Map attributes)
                throws ClassFormatError
Overrides:
load in class jq_Member
Throws:
ClassFormatError

load

public final void load(char access_flags,
                       DataInput in)
                throws IOException,
                       ClassFormatError
Overrides:
load in class jq_Member
Throws:
IOException
ClassFormatError

getExceptionTable

public Bytecodes.CodeException[] getExceptionTable(Bytecodes.InstructionList il)

getLineNumberTable

public Bytecodes.LineNumber[] getLineNumberTable(Bytecodes.InstructionList il)

setCode

public void setCode(Bytecodes.InstructionList il,
                    Bytecodes.CodeException[] ex_table,
                    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(DataOutput out,
                           jq_ConstantPool.ConstantPoolRebuilder cpr)
                    throws IOException
Overrides:
dumpAttributes in class jq_Member
Throws:
IOException

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()

getThrownExceptionsTable

public jq_Class[] getThrownExceptionsTable()

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()

getCodeAttribute

public byte[] getCodeAttribute(Utf8 a)

getCodeAttribute

public final byte[] getCodeAttribute(String name)

getLineNumber

public jq_LineNumberBC getLineNumber(char linenum)

accept

public void accept(jq_MethodVisitor mv)

toString

public String toString()
Overrides:
toString in class Object

isBodyLoaded

public boolean isBodyLoaded()


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