Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Clazz
Class jq_Method  view jq_Method download jq_Method.java

java.lang.Object
  extended byClazz.jq_Member
      extended byClazz.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


Nested Class Summary
(package private) static interface jq_Method.Delegate
           
 
Nested classes inherited from class Clazz.jq_Member
jq_Member.FilterByName, jq_Member.FilterByShortClassName
 
Field Summary
static jq_Class _class
           
static jq_InstanceMethod _compile
           
private static jq_Method.Delegate _delegate
           
protected  byte[] bytecode
           
protected  java.util.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
           
 
Fields inherited from class Clazz.jq_Member
access_flags, attributes, clazz, DETERMINISTIC, nd, state, USE_MEMBER_OBJECT_FIELD
 
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
 
Constructor Summary
protected jq_Method(jq_Class clazz, jq_NameAndDesc nd)
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface Compil3r.Quad.AndersenInterface.AndersenMember
and_getDeclaringClass, getName, getNameAndDesc
 

Field Detail

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