joeq.Compiler.BytecodeAnalysis
Class TypeAnalysis.ScalarReplacementVisitor

java.lang.Object
  extended byjoeq.Compiler.BytecodeAnalysis.BytecodeVisitor
      extended byjoeq.Compiler.BytecodeAnalysis.StackDepthVisitor
          extended byjoeq.Compiler.BytecodeAnalysis.TypeAnalysis.TypeAnalysisVisitor
              extended byjoeq.Compiler.BytecodeAnalysis.TypeAnalysis.ScalarReplacementVisitor
All Implemented Interfaces:
CompilationConstants, jq_ClassFileConstants
Enclosing class:
TypeAnalysis

public static class TypeAnalysis.ScalarReplacementVisitor
extends TypeAnalysis.TypeAnalysisVisitor


Field Summary
 
Fields inherited from class joeq.Compiler.BytecodeAnalysis.TypeAnalysis.TypeAnalysisVisitor
ALWAYS_TRACE, BY_PACKAGE, MAX_DEPTH, trace_method_names
 
Fields inherited from class joeq.Compiler.BytecodeAnalysis.StackDepthVisitor
cfg, currentStackDepth
 
Fields inherited from class joeq.Compiler.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, state, TRACE, UNOP_NEG, unopnames
 
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
 
Fields inherited from interface joeq.Compiler.CompilationConstants
MAYBE, NO, YES
 
Method Summary
 String toString()
           
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.TypeAnalysis.TypeAnalysisVisitor
applySummary, visitAALOAD, visitAASTORE, visitACONST, visitAGETFIELD, visitAGETSTATIC, visitAINVOKE, visitALOAD, visitAPUTFIELD, visitAPUTSTATIC, visitARETURN, visitASTORE, visitATHROW, visitBasicBlock, visitCHECKCAST, visitDALOAD, visitDINVOKE, visitDSTORE, visitDUP_x1, visitDUP_x2, visitDUP, visitDUP2_x1, visitDUP2_x2, visitDUP2, visitFALOAD, visitFINVOKE, visitFSTORE, visitIALOAD, visitIINVOKE, visitISTORE, visitJSR, visitLALOAD, visitLINVOKE, visitLSTORE, visitMONITOR, visitMULTINEWARRAY, visitNEW, visitNEWARRAY, visitPOP, visitPOP2, visitRET, visitSWAP, visitVINVOKE
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.StackDepthVisitor
go, visitBALOAD, visitBASTORE, visitBGETSTATIC, visitBPUTFIELD, visitBPUTSTATIC, visitCALOAD, visitCASTORE, visitCGETSTATIC, visitCPUTFIELD, visitCPUTSTATIC, visitD2F, visitD2I, visitDASTORE, visitDBINOP, visitDCMP2, visitDCONST, visitDGETFIELD, visitDGETSTATIC, visitDLOAD, visitDPUTFIELD, visitDPUTSTATIC, visitDRETURN, visitF2D, visitF2L, visitFASTORE, visitFBINOP, visitFCMP2, visitFCONST, visitFGETSTATIC, visitFLOAD, visitFPUTFIELD, visitFPUTSTATIC, visitFRETURN, visitI2D, visitI2L, visitIASTORE, visitIBINOP, visitICONST, visitIF, visitIFCMP, visitIFREF, visitIFREFCMP, visitIGETSTATIC, visitILOAD, visitIPUTFIELD, visitIPUTSTATIC, visitIRETURN, visitISHIFT, visitL2F, visitL2I, visitLASTORE, visitLBINOP, visitLCMP2, visitLCONST, visitLGETFIELD, visitLGETSTATIC, visitLLOAD, visitLOOKUPSWITCH, visitLPUTFIELD, visitLPUTSTATIC, visitLRETURN, visitLSHIFT, visitSALOAD, visitSASTORE, visitSGETSTATIC, visitSPUTFIELD, visitSPUTSTATIC, visitTABLESWITCH, visitVRETURN, visitZGETSTATIC, visitZPUTFIELD, visitZPUTSTATIC
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.BytecodeVisitor
forwardTraversal, tryResolve, tryResolve, tryResolve, tryResolve, tryResolve, updateCPIndex, updateMemberReference, visitARRAYLENGTH, visitBGETFIELD, visitBytecode, visitCGETFIELD, visitD2L, visitDUNOP, visitF2I, visitFGETFIELD, visitFUNOP, visitGOTO, visitI2B, visitI2C, visitI2F, visitI2S, visitIGETFIELD, visitIINC, visitINSTANCEOF, visitIUNOP, visitL2D, visitLUNOP, visitNOP, visitPEI, visitSGETFIELD, visitZGETFIELD
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

toString

public String toString()
Overrides:
toString in class TypeAnalysis.TypeAnalysisVisitor


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