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

Quick Search    Search Deep

Compil3r.BytecodeAnalysis
Class ModRefAnalysis  view ModRefAnalysis download ModRefAnalysis.java

java.lang.Object
  extended byCompil3r.BytecodeAnalysis.BytecodeVisitor
      extended byCompil3r.BytecodeAnalysis.ModRefAnalysis
All Implemented Interfaces:
Clazz.jq_ClassFileConstants

public class ModRefAnalysis
extends BytecodeVisitor


Nested Class Summary
static class ModRefAnalysis.ModRefVisitor
           
 
Field Summary
static boolean ALWAYS_TRACE
           
static boolean INTRA_CLASS
           
protected  java.util.Set mod
           
protected  java.util.Set ref
           
static java.util.Map results
           
 
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
 
Constructor Summary
ModRefAnalysis(Clazz.jq_Method m)
          Creates new ModRefAnalysis
 
Method Summary
 java.util.Set getMod()
           
 java.util.Set getRef()
           
protected  void handleInvoke(Clazz.jq_Method target)
           
protected  void invokeHelper(byte op, Clazz.jq_Method f)
           
 java.lang.String toString()
          Convert this Object to a human-readable String.
 void visitAGETFIELD(Clazz.jq_InstanceField f)
           
 void visitAGETSTATIC(Clazz.jq_StaticField f)
           
 void visitAINVOKE(byte op, Clazz.jq_Method f)
           
 void visitAPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitAPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitBGETFIELD(Clazz.jq_InstanceField f)
           
 void visitBGETSTATIC(Clazz.jq_StaticField f)
           
 void visitBPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitBPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitCGETFIELD(Clazz.jq_InstanceField f)
           
 void visitCGETSTATIC(Clazz.jq_StaticField f)
           
 void visitCPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitCPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitDGETFIELD(Clazz.jq_InstanceField f)
           
 void visitDGETSTATIC(Clazz.jq_StaticField f)
           
 void visitDINVOKE(byte op, Clazz.jq_Method f)
           
 void visitDPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitDPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitFGETFIELD(Clazz.jq_InstanceField f)
           
 void visitFGETSTATIC(Clazz.jq_StaticField f)
           
 void visitFINVOKE(byte op, Clazz.jq_Method f)
           
 void visitFPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitFPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitIGETFIELD(Clazz.jq_InstanceField f)
           
 void visitIGETSTATIC(Clazz.jq_StaticField f)
           
 void visitIINVOKE(byte op, Clazz.jq_Method f)
           
 void visitIPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitIPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitLGETFIELD(Clazz.jq_InstanceField f)
           
 void visitLGETSTATIC(Clazz.jq_StaticField f)
           
 void visitLINVOKE(byte op, Clazz.jq_Method f)
           
 void visitLPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitLPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitSGETFIELD(Clazz.jq_InstanceField f)
           
 void visitSGETSTATIC(Clazz.jq_StaticField f)
           
 void visitSPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitSPUTSTATIC(Clazz.jq_StaticField f)
           
 void visitVINVOKE(byte op, Clazz.jq_Method f)
           
 void visitZGETFIELD(Clazz.jq_InstanceField f)
           
 void visitZGETSTATIC(Clazz.jq_StaticField f)
           
 void visitZPUTFIELD(Clazz.jq_InstanceField f)
           
 void visitZPUTSTATIC(Clazz.jq_StaticField f)
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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

ModRefAnalysis

public ModRefAnalysis(Clazz.jq_Method m)
Creates new ModRefAnalysis

Method Detail

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