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

Quick Search    Search Deep

org.apache.bcel.verifier.structurals
Class ExecutionVisitor  view ExecutionVisitor download ExecutionVisitor.java

java.lang.Object
  extended byorg.apache.bcel.generic.EmptyVisitor
      extended byorg.apache.bcel.verifier.structurals.ExecutionVisitor
All Implemented Interfaces:
org.apache.bcel.generic.Visitor

public class ExecutionVisitor
extends org.apache.bcel.generic.EmptyVisitor
implements org.apache.bcel.generic.Visitor

This Visitor class may be used for a type-based Java Virtual Machine simulation. It does not check for correct types on the OperandStack or in the LocalVariables; nor does it check their sizes are sufficiently big. Thus, to use this Visitor for bytecode verifying, you have to make sure externally that the type constraints of the Java Virtual Machine instructions are satisfied. An InstConstraintVisitor may be used for this. Anyway, this Visitor does not mandate it. For example, when you visitIADD(IADD o), then there are two stack slots popped and one stack slot containing a Type.INT is pushed (where you could also pop only one slot if you know there are two Type.INT on top of the stack). Monitor-specific behaviour is not simulated.

Conventions: Type.VOID will never be pushed onto the stack. Type.DOUBLE and Type.LONG that would normally take up two stack slots (like Double_HIGH and Double_LOW) are represented by a simple single Type.DOUBLE or Type.LONG object on the stack here. If a two-slot type is stored into a local variable, the next variable is given the type Type.UNKNOWN.

Version:
$Id: ExecutionVisitor.java 386056 2006-03-15 11:31:56Z tcurdt $

Field Summary
private  org.apache.bcel.generic.ConstantPoolGen cpg
          The ConstantPoolGen we're working with.
private  Frame frame
          The executionframe we're operating on.
 
Constructor Summary
ExecutionVisitor()
          Constructor.
 
Method Summary
private  LocalVariables locals()
          The LocalVariables from the current Frame we're operating on.
 void setConstantPoolGen(org.apache.bcel.generic.ConstantPoolGen cpg)
          Sets the ConstantPoolGen needed for symbolic execution.
 void setFrame(Frame f)
          The only method granting access to the single instance of the ExecutionVisitor class.
private  OperandStack stack()
          The OperandStack from the current Frame we're operating on.
 void visitAALOAD(org.apache.bcel.generic.AALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitAASTORE(org.apache.bcel.generic.AASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitACONST_NULL(org.apache.bcel.generic.ACONST_NULL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitALOAD(org.apache.bcel.generic.ALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitANEWARRAY(org.apache.bcel.generic.ANEWARRAY o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitARETURN(org.apache.bcel.generic.ARETURN o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitARRAYLENGTH(org.apache.bcel.generic.ARRAYLENGTH o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitASTORE(org.apache.bcel.generic.ASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitATHROW(org.apache.bcel.generic.ATHROW o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitBALOAD(org.apache.bcel.generic.BALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitBASTORE(org.apache.bcel.generic.BASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitBIPUSH(org.apache.bcel.generic.BIPUSH o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitCALOAD(org.apache.bcel.generic.CALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitCASTORE(org.apache.bcel.generic.CASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitCHECKCAST(org.apache.bcel.generic.CHECKCAST o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitD2F(org.apache.bcel.generic.D2F o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitD2I(org.apache.bcel.generic.D2I o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitD2L(org.apache.bcel.generic.D2L o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDADD(org.apache.bcel.generic.DADD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDALOAD(org.apache.bcel.generic.DALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDASTORE(org.apache.bcel.generic.DASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDCMPG(org.apache.bcel.generic.DCMPG o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDCMPL(org.apache.bcel.generic.DCMPL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDCONST(org.apache.bcel.generic.DCONST o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDDIV(org.apache.bcel.generic.DDIV o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDLOAD(org.apache.bcel.generic.DLOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDMUL(org.apache.bcel.generic.DMUL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDNEG(org.apache.bcel.generic.DNEG o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDREM(org.apache.bcel.generic.DREM o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDRETURN(org.apache.bcel.generic.DRETURN o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDSTORE(org.apache.bcel.generic.DSTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDSUB(org.apache.bcel.generic.DSUB o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDUP_X1(org.apache.bcel.generic.DUP_X1 o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDUP_X2(org.apache.bcel.generic.DUP_X2 o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDUP(org.apache.bcel.generic.DUP o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDUP2_X1(org.apache.bcel.generic.DUP2_X1 o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDUP2_X2(org.apache.bcel.generic.DUP2_X2 o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitDUP2(org.apache.bcel.generic.DUP2 o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitF2D(org.apache.bcel.generic.F2D o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitF2I(org.apache.bcel.generic.F2I o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitF2L(org.apache.bcel.generic.F2L o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFADD(org.apache.bcel.generic.FADD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFALOAD(org.apache.bcel.generic.FALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFASTORE(org.apache.bcel.generic.FASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFCMPG(org.apache.bcel.generic.FCMPG o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFCMPL(org.apache.bcel.generic.FCMPL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFCONST(org.apache.bcel.generic.FCONST o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFDIV(org.apache.bcel.generic.FDIV o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFLOAD(org.apache.bcel.generic.FLOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFMUL(org.apache.bcel.generic.FMUL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFNEG(org.apache.bcel.generic.FNEG o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFREM(org.apache.bcel.generic.FREM o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFRETURN(org.apache.bcel.generic.FRETURN o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFSTORE(org.apache.bcel.generic.FSTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitFSUB(org.apache.bcel.generic.FSUB o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitGETFIELD(org.apache.bcel.generic.GETFIELD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitGETSTATIC(org.apache.bcel.generic.GETSTATIC o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitGOTO_W(org.apache.bcel.generic.GOTO_W o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitGOTO(org.apache.bcel.generic.GOTO o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitI2B(org.apache.bcel.generic.I2B o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitI2C(org.apache.bcel.generic.I2C o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitI2D(org.apache.bcel.generic.I2D o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitI2F(org.apache.bcel.generic.I2F o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitI2L(org.apache.bcel.generic.I2L o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitI2S(org.apache.bcel.generic.I2S o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIADD(org.apache.bcel.generic.IADD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIALOAD(org.apache.bcel.generic.IALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIAND(org.apache.bcel.generic.IAND o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIASTORE(org.apache.bcel.generic.IASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitICONST(org.apache.bcel.generic.ICONST o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIDIV(org.apache.bcel.generic.IDIV o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ACMPEQ(org.apache.bcel.generic.IF_ACMPEQ o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ACMPNE(org.apache.bcel.generic.IF_ACMPNE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ICMPEQ(org.apache.bcel.generic.IF_ICMPEQ o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ICMPGE(org.apache.bcel.generic.IF_ICMPGE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ICMPGT(org.apache.bcel.generic.IF_ICMPGT o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ICMPLE(org.apache.bcel.generic.IF_ICMPLE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ICMPLT(org.apache.bcel.generic.IF_ICMPLT o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIF_ICMPNE(org.apache.bcel.generic.IF_ICMPNE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFEQ(org.apache.bcel.generic.IFEQ o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFGE(org.apache.bcel.generic.IFGE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFGT(org.apache.bcel.generic.IFGT o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFLE(org.apache.bcel.generic.IFLE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFLT(org.apache.bcel.generic.IFLT o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFNE(org.apache.bcel.generic.IFNE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFNONNULL(org.apache.bcel.generic.IFNONNULL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIFNULL(org.apache.bcel.generic.IFNULL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIINC(org.apache.bcel.generic.IINC o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitILOAD(org.apache.bcel.generic.ILOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIMUL(org.apache.bcel.generic.IMUL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitINEG(org.apache.bcel.generic.INEG o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitINSTANCEOF(org.apache.bcel.generic.INSTANCEOF o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitINVOKEINTERFACE(org.apache.bcel.generic.INVOKEINTERFACE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitINVOKESPECIAL(org.apache.bcel.generic.INVOKESPECIAL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitINVOKESTATIC(org.apache.bcel.generic.INVOKESTATIC o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitINVOKEVIRTUAL(org.apache.bcel.generic.INVOKEVIRTUAL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIOR(org.apache.bcel.generic.IOR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIREM(org.apache.bcel.generic.IREM o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIRETURN(org.apache.bcel.generic.IRETURN o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitISHL(org.apache.bcel.generic.ISHL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitISHR(org.apache.bcel.generic.ISHR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitISTORE(org.apache.bcel.generic.ISTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitISUB(org.apache.bcel.generic.ISUB o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIUSHR(org.apache.bcel.generic.IUSHR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitIXOR(org.apache.bcel.generic.IXOR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitJSR_W(org.apache.bcel.generic.JSR_W o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitJSR(org.apache.bcel.generic.JSR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitL2D(org.apache.bcel.generic.L2D o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitL2F(org.apache.bcel.generic.L2F o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitL2I(org.apache.bcel.generic.L2I o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLADD(org.apache.bcel.generic.LADD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLALOAD(org.apache.bcel.generic.LALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLAND(org.apache.bcel.generic.LAND o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLASTORE(org.apache.bcel.generic.LASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLCMP(org.apache.bcel.generic.LCMP o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLCONST(org.apache.bcel.generic.LCONST o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLDC_W(org.apache.bcel.generic.LDC_W o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLDC(org.apache.bcel.generic.LDC o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLDC2_W(org.apache.bcel.generic.LDC2_W o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLDIV(org.apache.bcel.generic.LDIV o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLLOAD(org.apache.bcel.generic.LLOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLMUL(org.apache.bcel.generic.LMUL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLNEG(org.apache.bcel.generic.LNEG o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLOOKUPSWITCH(org.apache.bcel.generic.LOOKUPSWITCH o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLOR(org.apache.bcel.generic.LOR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLREM(org.apache.bcel.generic.LREM o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLRETURN(org.apache.bcel.generic.LRETURN o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLSHL(org.apache.bcel.generic.LSHL o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLSHR(org.apache.bcel.generic.LSHR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLSTORE(org.apache.bcel.generic.LSTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLSUB(org.apache.bcel.generic.LSUB o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLUSHR(org.apache.bcel.generic.LUSHR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitLXOR(org.apache.bcel.generic.LXOR o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitMONITORENTER(org.apache.bcel.generic.MONITORENTER o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitMONITOREXIT(org.apache.bcel.generic.MONITOREXIT o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitMULTIANEWARRAY(org.apache.bcel.generic.MULTIANEWARRAY o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitNEW(org.apache.bcel.generic.NEW o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitNEWARRAY(org.apache.bcel.generic.NEWARRAY o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitNOP(org.apache.bcel.generic.NOP o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitPOP(org.apache.bcel.generic.POP o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitPOP2(org.apache.bcel.generic.POP2 o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitPUTFIELD(org.apache.bcel.generic.PUTFIELD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitPUTSTATIC(org.apache.bcel.generic.PUTSTATIC o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitRET(org.apache.bcel.generic.RET o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitRETURN(org.apache.bcel.generic.RETURN o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitSALOAD(org.apache.bcel.generic.SALOAD o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitSASTORE(org.apache.bcel.generic.SASTORE o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitSIPUSH(org.apache.bcel.generic.SIPUSH o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitSWAP(org.apache.bcel.generic.SWAP o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 void visitTABLESWITCH(org.apache.bcel.generic.TABLESWITCH o)
          Symbolically executes the corresponding Java Virtual Machine instruction.
 
Methods inherited from class org.apache.bcel.generic.EmptyVisitor
visitAllocationInstruction, visitArithmeticInstruction, visitArrayInstruction, visitBranchInstruction, visitBREAKPOINT, visitConstantPushInstruction, visitConversionInstruction, visitCPInstruction, visitExceptionThrower, visitFieldInstruction, visitFieldOrMethod, visitGotoInstruction, visitIfInstruction, visitIMPDEP1, visitIMPDEP2, visitInvokeInstruction, visitJsrInstruction, visitLoadClass, visitLoadInstruction, visitLocalVariableInstruction, visitPopInstruction, visitPushInstruction, visitReturnInstruction, visitSelect, visitStackConsumer, visitStackInstruction, visitStackProducer, visitStoreInstruction, visitTypedInstruction, visitUnconditionalBranch, visitVariableLengthInstruction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.bcel.generic.Visitor
visitAllocationInstruction, visitArithmeticInstruction, visitArrayInstruction, visitBranchInstruction, visitBREAKPOINT, visitConstantPushInstruction, visitConversionInstruction, visitCPInstruction, visitExceptionThrower, visitFieldInstruction, visitFieldOrMethod, visitGotoInstruction, visitIfInstruction, visitIMPDEP1, visitIMPDEP2, visitInvokeInstruction, visitJsrInstruction, visitLoadClass, visitLoadInstruction, visitLocalVariableInstruction, visitPopInstruction, visitPushInstruction, visitReturnInstruction, visitSelect, visitStackConsumer, visitStackInstruction, visitStackProducer, visitStoreInstruction, visitTypedInstruction, visitUnconditionalBranch, visitVariableLengthInstruction
 

Field Detail

frame

private Frame frame
The executionframe we're operating on.


cpg

private org.apache.bcel.generic.ConstantPoolGen cpg
The ConstantPoolGen we're working with.

See Also:
setConstantPoolGen(ConstantPoolGen) 55
Constructor Detail

ExecutionVisitor

public ExecutionVisitor()
Constructor. Constructs a new instance of this class.

Method Detail

stack

private OperandStack stack()
The OperandStack from the current Frame we're operating on.


locals

private LocalVariables locals()
The LocalVariables from the current Frame we're operating on.


setConstantPoolGen

public void setConstantPoolGen(org.apache.bcel.generic.ConstantPoolGen cpg)
Sets the ConstantPoolGen needed for symbolic execution.


setFrame

public void setFrame(Frame f)
The only method granting access to the single instance of the ExecutionVisitor class. Before actively using this instance, SET THE ConstantPoolGen FIRST.


visitAALOAD

public void visitAALOAD(org.apache.bcel.generic.AALOAD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitAALOAD in interface org.apache.bcel.generic.Visitor

visitAASTORE

public void visitAASTORE(org.apache.bcel.generic.AASTORE o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitAASTORE in interface org.apache.bcel.generic.Visitor

visitACONST_NULL

public void visitACONST_NULL(org.apache.bcel.generic.ACONST_NULL o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitACONST_NULL in interface org.apache.bcel.generic.Visitor

visitALOAD

public void visitALOAD(org.apache.bcel.generic.ALOAD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitALOAD in interface org.apache.bcel.generic.Visitor

visitANEWARRAY

public void visitANEWARRAY(org.apache.bcel.generic.ANEWARRAY o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitANEWARRAY in interface org.apache.bcel.generic.Visitor

visitARETURN

public void visitARETURN(org.apache.bcel.generic.ARETURN o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitARETURN in interface org.apache.bcel.generic.Visitor

visitARRAYLENGTH

public void visitARRAYLENGTH(org.apache.bcel.generic.ARRAYLENGTH o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitARRAYLENGTH in interface org.apache.bcel.generic.Visitor

visitASTORE

public void visitASTORE(org.apache.bcel.generic.ASTORE o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitASTORE in interface org.apache.bcel.generic.Visitor

visitATHROW

public void visitATHROW(org.apache.bcel.generic.ATHROW o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitATHROW in interface org.apache.bcel.generic.Visitor

visitBALOAD

public void visitBALOAD(org.apache.bcel.generic.BALOAD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitBALOAD in interface org.apache.bcel.generic.Visitor

visitBASTORE

public void visitBASTORE(org.apache.bcel.generic.BASTORE o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitBASTORE in interface org.apache.bcel.generic.Visitor

visitBIPUSH

public void visitBIPUSH(org.apache.bcel.generic.BIPUSH o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitBIPUSH in interface org.apache.bcel.generic.Visitor

visitCALOAD

public void visitCALOAD(org.apache.bcel.generic.CALOAD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitCALOAD in interface org.apache.bcel.generic.Visitor

visitCASTORE

public void visitCASTORE(org.apache.bcel.generic.CASTORE o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitCASTORE in interface org.apache.bcel.generic.Visitor

visitCHECKCAST

public void visitCHECKCAST(org.apache.bcel.generic.CHECKCAST o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitCHECKCAST in interface org.apache.bcel.generic.Visitor

visitD2F

public void visitD2F(org.apache.bcel.generic.D2F o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitD2F in interface org.apache.bcel.generic.Visitor

visitD2I

public void visitD2I(org.apache.bcel.generic.D2I o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitD2I in interface org.apache.bcel.generic.Visitor

visitD2L

public void visitD2L(org.apache.bcel.generic.D2L o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitD2L in interface org.apache.bcel.generic.Visitor

visitDADD

public void visitDADD(org.apache.bcel.generic.DADD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDADD in interface org.apache.bcel.generic.Visitor

visitDALOAD

public void visitDALOAD(org.apache.bcel.generic.DALOAD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDALOAD in interface org.apache.bcel.generic.Visitor

visitDASTORE

public void visitDASTORE(org.apache.bcel.generic.DASTORE o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDASTORE in interface org.apache.bcel.generic.Visitor

visitDCMPG

public void visitDCMPG(org.apache.bcel.generic.DCMPG o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDCMPG in interface org.apache.bcel.generic.Visitor

visitDCMPL

public void visitDCMPL(org.apache.bcel.generic.DCMPL o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDCMPL in interface org.apache.bcel.generic.Visitor

visitDCONST

public void visitDCONST(org.apache.bcel.generic.DCONST o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDCONST in interface org.apache.bcel.generic.Visitor

visitDDIV

public void visitDDIV(org.apache.bcel.generic.DDIV o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDDIV in interface org.apache.bcel.generic.Visitor

visitDLOAD

public void visitDLOAD(org.apache.bcel.generic.DLOAD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDLOAD in interface org.apache.bcel.generic.Visitor

visitDMUL

public void visitDMUL(org.apache.bcel.generic.DMUL o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDMUL in interface org.apache.bcel.generic.Visitor

visitDNEG

public void visitDNEG(org.apache.bcel.generic.DNEG o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDNEG in interface org.apache.bcel.generic.Visitor

visitDREM

public void visitDREM(org.apache.bcel.generic.DREM o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDREM in interface org.apache.bcel.generic.Visitor

visitDRETURN

public void visitDRETURN(org.apache.bcel.generic.DRETURN o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDRETURN in interface org.apache.bcel.generic.Visitor

visitDSTORE

public void visitDSTORE(org.apache.bcel.generic.DSTORE o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDSTORE in interface org.apache.bcel.generic.Visitor

visitDSUB

public void visitDSUB(org.apache.bcel.generic.DSUB o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDSUB in interface org.apache.bcel.generic.Visitor

visitDUP

public void visitDUP(org.apache.bcel.generic.DUP o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDUP in interface org.apache.bcel.generic.Visitor

visitDUP_X1

public void visitDUP_X1(org.apache.bcel.generic.DUP_X1 o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDUP_X1 in interface org.apache.bcel.generic.Visitor

visitDUP_X2

public void visitDUP_X2(org.apache.bcel.generic.DUP_X2 o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDUP_X2 in interface org.apache.bcel.generic.Visitor

visitDUP2

public void visitDUP2(org.apache.bcel.generic.DUP2 o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDUP2 in interface org.apache.bcel.generic.Visitor

visitDUP2_X1

public void visitDUP2_X1(org.apache.bcel.generic.DUP2_X1 o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDUP2_X1 in interface org.apache.bcel.generic.Visitor

visitDUP2_X2

public void visitDUP2_X2(org.apache.bcel.generic.DUP2_X2 o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitDUP2_X2 in interface org.apache.bcel.generic.Visitor

visitF2D

public void visitF2D(org.apache.bcel.generic.F2D o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitF2D in interface org.apache.bcel.generic.Visitor

visitF2I

public void visitF2I(org.apache.bcel.generic.F2I o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitF2I in interface org.apache.bcel.generic.Visitor

visitF2L

public void visitF2L(org.apache.bcel.generic.F2L o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitF2L in interface org.apache.bcel.generic.Visitor

visitFADD

public void visitFADD(org.apache.bcel.generic.FADD o)
Symbolically executes the corresponding Java Virtual Machine instruction.

Specified by:
visitFADD in interface org.apache.bcel.generic.Visitor