java.lang.Object
Compil3r.BytecodeAnalysis.BytecodeVisitor
Compil3r.BytecodeAnalysis.ModRefAnalysis
- All Implemented Interfaces:
- Clazz.jq_ClassFileConstants
- public class ModRefAnalysis
- extends BytecodeVisitor
| Fields inherited from class Compil3r.BytecodeAnalysis.BytecodeVisitor |
bcs, BINOP_ADD, BINOP_AND, BINOP_DIV, BINOP_MUL, BINOP_OR, BINOP_REM, BINOP_SUB, BINOP_XOR, binopnames, clazz, CMP_AE, CMP_EQ, CMP_G, CMP_GE, CMP_GT, CMP_L, CMP_LE, CMP_LT, CMP_NE, CMP_UNCOND, cmpopnames, fcmpopnames, i_end, i_start, INVOKE_INTERFACE, INVOKE_SPECIAL, INVOKE_STATIC, INVOKE_VIRTUAL, invokeopnames, method, MONITOR_ENTER, MONITOR_EXIT, monitoropnames, out, SHIFT_LEFT, SHIFT_RIGHT, SHIFT_URIGHT, shiftopnames, TRACE, UNOP_NEG, unopnames |
| 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 |
| Methods inherited from class Compil3r.BytecodeAnalysis.BytecodeVisitor |
forwardTraversal, resolve, resolve, resolve, resolve, resolve, updateCPIndex, updateMemberReference, visitAALOAD, visitAASTORE, visitACONST, visitALOAD, visitARETURN, visitARRAYLENGTH, visitASTORE, visitATHROW, visitBALOAD, visitBASTORE, visitBytecode, visitCALOAD, visitCASTORE, visitCHECKCAST, visitD2F, visitD2I, visitD2L, visitDALOAD, visitDASTORE, visitDBINOP, visitDCMP2, visitDCONST, visitDLOAD, visitDRETURN, visitDSTORE, visitDUNOP, visitDUP_x1, visitDUP_x2, visitDUP, visitDUP2_x1, visitDUP2_x2, visitDUP2, visitF2D, visitF2I, visitF2L, visitFALOAD, visitFASTORE, visitFBINOP, visitFCMP2, visitFCONST, visitFLOAD, visitFRETURN, visitFSTORE, visitFUNOP, visitGOTO, visitI2B, visitI2C, visitI2D, visitI2F, visitI2L, visitI2S, visitIALOAD, visitIASTORE, visitIBINOP, visitICONST, visitIF, visitIFCMP, visitIFREF, visitIFREFCMP, visitIINC, visitILOAD, visitINSTANCEOF, visitIRETURN, visitISHIFT, visitISTORE, visitIUNOP, visitJSR, visitL2D, visitL2F, visitL2I, visitLALOAD, visitLASTORE, visitLBINOP, visitLCMP2, visitLCONST, visitLLOAD, visitLOOKUPSWITCH, visitLRETURN, visitLSHIFT, visitLSTORE, visitLUNOP, visitMONITOR, visitMULTINEWARRAY, visitNEW, visitNEWARRAY, visitNOP, visitPEI, visitPOP, visitPOP2, visitRET, visitSALOAD, visitSASTORE, visitSWAP, visitTABLESWITCH, visitVRETURN |
INTRA_CLASS
public static final boolean INTRA_CLASS
- See Also:
- Constant Field Values
ALWAYS_TRACE
public static final boolean ALWAYS_TRACE
- See Also:
- Constant Field Values
results
public static java.util.Map results
mod
protected java.util.Set mod
ref
protected java.util.Set ref
ModRefAnalysis
public ModRefAnalysis(Clazz.jq_Method m)
- Creates new ModRefAnalysis
getMod
public java.util.Set getMod()
getRef
public java.util.Set getRef()
visitIGETSTATIC
public void visitIGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitIGETSTATIC in class BytecodeVisitor
visitLGETSTATIC
public void visitLGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitLGETSTATIC in class BytecodeVisitor
visitFGETSTATIC
public void visitFGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitFGETSTATIC in class BytecodeVisitor
visitDGETSTATIC
public void visitDGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitDGETSTATIC in class BytecodeVisitor
visitAGETSTATIC
public void visitAGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitAGETSTATIC in class BytecodeVisitor
visitZGETSTATIC
public void visitZGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitZGETSTATIC in class BytecodeVisitor
visitBGETSTATIC
public void visitBGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitBGETSTATIC in class BytecodeVisitor
visitCGETSTATIC
public void visitCGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitCGETSTATIC in class BytecodeVisitor
visitSGETSTATIC
public void visitSGETSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitSGETSTATIC in class BytecodeVisitor
visitIPUTSTATIC
public void visitIPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitIPUTSTATIC in class BytecodeVisitor
visitLPUTSTATIC
public void visitLPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitLPUTSTATIC in class BytecodeVisitor
visitFPUTSTATIC
public void visitFPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitFPUTSTATIC in class BytecodeVisitor
visitDPUTSTATIC
public void visitDPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitDPUTSTATIC in class BytecodeVisitor
visitAPUTSTATIC
public void visitAPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitAPUTSTATIC in class BytecodeVisitor
visitZPUTSTATIC
public void visitZPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitZPUTSTATIC in class BytecodeVisitor
visitBPUTSTATIC
public void visitBPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitBPUTSTATIC in class BytecodeVisitor
visitCPUTSTATIC
public void visitCPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitCPUTSTATIC in class BytecodeVisitor
visitSPUTSTATIC
public void visitSPUTSTATIC(Clazz.jq_StaticField f)
- Overrides:
visitSPUTSTATIC in class BytecodeVisitor
visitIGETFIELD
public void visitIGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitIGETFIELD in class BytecodeVisitor
visitLGETFIELD
public void visitLGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitLGETFIELD in class BytecodeVisitor
visitFGETFIELD
public void visitFGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitFGETFIELD in class BytecodeVisitor
visitDGETFIELD
public void visitDGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitDGETFIELD in class BytecodeVisitor
visitAGETFIELD
public void visitAGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitAGETFIELD in class BytecodeVisitor
visitBGETFIELD
public void visitBGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitBGETFIELD in class BytecodeVisitor
visitCGETFIELD
public void visitCGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitCGETFIELD in class BytecodeVisitor
visitSGETFIELD
public void visitSGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitSGETFIELD in class BytecodeVisitor
visitZGETFIELD
public void visitZGETFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitZGETFIELD in class BytecodeVisitor
visitIPUTFIELD
public void visitIPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitIPUTFIELD in class BytecodeVisitor
visitLPUTFIELD
public void visitLPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitLPUTFIELD in class BytecodeVisitor
visitFPUTFIELD
public void visitFPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitFPUTFIELD in class BytecodeVisitor
visitDPUTFIELD
public void visitDPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitDPUTFIELD in class BytecodeVisitor
visitAPUTFIELD
public void visitAPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitAPUTFIELD in class BytecodeVisitor
visitBPUTFIELD
public void visitBPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitBPUTFIELD in class BytecodeVisitor
visitCPUTFIELD
public void visitCPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitCPUTFIELD in class BytecodeVisitor
visitSPUTFIELD
public void visitSPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitSPUTFIELD in class BytecodeVisitor
visitZPUTFIELD
public void visitZPUTFIELD(Clazz.jq_InstanceField f)
- Overrides:
visitZPUTFIELD in class BytecodeVisitor
handleInvoke
protected void handleInvoke(Clazz.jq_Method target)
invokeHelper
protected void invokeHelper(byte op,
Clazz.jq_Method f)
visitIINVOKE
public void visitIINVOKE(byte op,
Clazz.jq_Method f)
- Overrides:
visitIINVOKE in class BytecodeVisitor
visitLINVOKE
public void visitLINVOKE(byte op,
Clazz.jq_Method f)
- Overrides:
visitLINVOKE in class BytecodeVisitor
visitFINVOKE
public void visitFINVOKE(byte op,
Clazz.jq_Method f)
- Overrides:
visitFINVOKE in class BytecodeVisitor
visitDINVOKE
public void visitDINVOKE(byte op,
Clazz.jq_Method f)
- Overrides:
visitDINVOKE in class BytecodeVisitor
visitAINVOKE
public void visitAINVOKE(byte op,
Clazz.jq_Method f)
- Overrides:
visitAINVOKE in class BytecodeVisitor
visitVINVOKE
public void visitVINVOKE(byte op,
Clazz.jq_Method f)
- Overrides:
visitVINVOKE in class BytecodeVisitor
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()).