# Class ExecutionVisitor

java.lang.Object
org.apache.bcel.generic.EmptyVisitor
org.apache.bcel.verifier.structurals.ExecutionVisitor

All Implemented Interfaces:
  `Visitor`

public class ExecutionVisitor extends EmptyVisitor
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 behavior 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.

See Also:
  - `visitDSTORE(DSTORE o)`
  - `InstConstraintVisitor`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExecutionVisitor()`
  Constructs a new instance of this class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `setConstantPoolGen(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.
  `void`
  `visitAALOAD(AALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitAASTORE(AASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitACONST_NULL(ACONST_NULL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitALOAD(ALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitANEWARRAY(ANEWARRAY o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitARETURN(ARETURN o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitARRAYLENGTH(ARRAYLENGTH o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitASTORE(ASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitATHROW(ATHROW o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitBALOAD(BALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitBASTORE(BASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitBIPUSH(BIPUSH o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitCALOAD(CALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitCASTORE(CASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitCHECKCAST(CHECKCAST o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitD2F(D2F o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitD2I(D2I o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitD2L(D2L o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDADD(DADD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDALOAD(DALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDASTORE(DASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDCMPG(DCMPG o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDCMPL(DCMPL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDCONST(DCONST o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDDIV(DDIV o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDLOAD(DLOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDMUL(DMUL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDNEG(DNEG o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDREM(DREM o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDRETURN(DRETURN o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDSTORE(DSTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDSUB(DSUB o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDUP(DUP o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDUP_X1(DUP_X1 o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDUP_X2(DUP_X2 o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDUP2(DUP2 o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDUP2_X1(DUP2_X1 o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitDUP2_X2(DUP2_X2 o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitF2D(F2D o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitF2I(F2I o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitF2L(F2L o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFADD(FADD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFALOAD(FALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFASTORE(FASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFCMPG(FCMPG o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFCMPL(FCMPL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFCONST(FCONST o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFDIV(FDIV o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFLOAD(FLOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFMUL(FMUL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFNEG(FNEG o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFREM(FREM o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFRETURN(FRETURN o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFSTORE(FSTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitFSUB(FSUB o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitGETFIELD(GETFIELD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitGETSTATIC(GETSTATIC o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitGOTO(GOTO o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitGOTO_W(GOTO_W o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitI2B(I2B o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitI2C(I2C o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitI2D(I2D o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitI2F(I2F o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitI2L(I2L o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitI2S(I2S o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIADD(IADD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIALOAD(IALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIAND(IAND o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIASTORE(IASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitICONST(ICONST o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIDIV(IDIV o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ACMPEQ(IF_ACMPEQ o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ACMPNE(IF_ACMPNE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ICMPEQ(IF_ICMPEQ o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ICMPGE(IF_ICMPGE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ICMPGT(IF_ICMPGT o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ICMPLE(IF_ICMPLE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ICMPLT(IF_ICMPLT o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIF_ICMPNE(IF_ICMPNE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFEQ(IFEQ o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFGE(IFGE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFGT(IFGT o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFLE(IFLE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFLT(IFLT o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFNE(IFNE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFNONNULL(IFNONNULL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIFNULL(IFNULL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIINC(IINC o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitILOAD(ILOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIMUL(IMUL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitINEG(INEG o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitINSTANCEOF(INSTANCEOF o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitINVOKEDYNAMIC(INVOKEDYNAMIC o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitINVOKEINTERFACE(INVOKEINTERFACE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitINVOKESPECIAL(INVOKESPECIAL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitINVOKESTATIC(INVOKESTATIC o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitINVOKEVIRTUAL(INVOKEVIRTUAL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIOR(IOR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIREM(IREM o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIRETURN(IRETURN o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitISHL(ISHL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitISHR(ISHR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitISTORE(ISTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitISUB(ISUB o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIUSHR(IUSHR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitIXOR(IXOR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitJSR(JSR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitJSR_W(JSR_W o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitL2D(L2D o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitL2F(L2F o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitL2I(L2I o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLADD(LADD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLALOAD(LALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLAND(LAND o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLASTORE(LASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLCMP(LCMP o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLCONST(LCONST o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLDC(LDC o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLDC_W(LDC_W o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLDC2_W(LDC2_W o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLDIV(LDIV o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLLOAD(LLOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLMUL(LMUL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLNEG(LNEG o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLOOKUPSWITCH(LOOKUPSWITCH o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLOR(LOR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLREM(LREM o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLRETURN(LRETURN o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLSHL(LSHL o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLSHR(LSHR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLSTORE(LSTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLSUB(LSUB o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLUSHR(LUSHR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitLXOR(LXOR o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitMONITORENTER(MONITORENTER o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitMONITOREXIT(MONITOREXIT o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitMULTIANEWARRAY(MULTIANEWARRAY o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitNEW(NEW o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitNEWARRAY(NEWARRAY o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitNOP(NOP o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitPOP(POP o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitPOP2(POP2 o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitPUTFIELD(PUTFIELD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitPUTSTATIC(PUTSTATIC o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitRET(RET o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitRETURN(RETURN o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitSALOAD(SALOAD o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitSASTORE(SASTORE o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitSIPUSH(SIPUSH o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitSWAP(SWAP o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.
  `void`
  `visitTABLESWITCH(TABLESWITCH o)`
  Symbolically executes the corresponding Java Virtual Machine instruction.

  ### Methods inherited from class 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 Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ExecutionVisitor

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

- ## Method Details

  - ### setConstantPoolGen

    public void setConstantPoolGen(ConstantPoolGen cpg)
    Sets the ConstantPoolGen needed for symbolic execution.
    Parameters:
      `cpg` - the constant pool generator.

  - ### 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.
    Parameters:
      `f` - the frame.
    See Also:
      - `setConstantPoolGen(ConstantPoolGen)`

  - ### visitAALOAD

    public void visitAALOAD(AALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitAALOAD` in interface `Visitor`
    Overrides:
      `visitAALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitAASTORE

    public void visitAASTORE(AASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitAASTORE` in interface `Visitor`
    Overrides:
      `visitAASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitACONST_NULL

    public void visitACONST_NULL(ACONST_NULL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitACONST_NULL` in interface `Visitor`
    Overrides:
      `visitACONST_NULL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitALOAD

    public void visitALOAD(ALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitALOAD` in interface `Visitor`
    Overrides:
      `visitALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitANEWARRAY

    public void visitANEWARRAY(ANEWARRAY o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitANEWARRAY` in interface `Visitor`
    Overrides:
      `visitANEWARRAY` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitARETURN

    public void visitARETURN(ARETURN o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitARETURN` in interface `Visitor`
    Overrides:
      `visitARETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitARRAYLENGTH

    public void visitARRAYLENGTH(ARRAYLENGTH o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitARRAYLENGTH` in interface `Visitor`
    Overrides:
      `visitARRAYLENGTH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitASTORE

    public void visitASTORE(ASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitASTORE` in interface `Visitor`
    Overrides:
      `visitASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitATHROW

    public void visitATHROW(ATHROW o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitATHROW` in interface `Visitor`
    Overrides:
      `visitATHROW` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitBALOAD

    public void visitBALOAD(BALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitBALOAD` in interface `Visitor`
    Overrides:
      `visitBALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitBASTORE

    public void visitBASTORE(BASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitBASTORE` in interface `Visitor`
    Overrides:
      `visitBASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitBIPUSH

    public void visitBIPUSH(BIPUSH o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitBIPUSH` in interface `Visitor`
    Overrides:
      `visitBIPUSH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitCALOAD

    public void visitCALOAD(CALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitCALOAD` in interface `Visitor`
    Overrides:
      `visitCALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitCASTORE

    public void visitCASTORE(CASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitCASTORE` in interface `Visitor`
    Overrides:
      `visitCASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitCHECKCAST

    public void visitCHECKCAST(CHECKCAST o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitCHECKCAST` in interface `Visitor`
    Overrides:
      `visitCHECKCAST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitD2F

    public void visitD2F(D2F o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitD2F` in interface `Visitor`
    Overrides:
      `visitD2F` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitD2I

    public void visitD2I(D2I o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitD2I` in interface `Visitor`
    Overrides:
      `visitD2I` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitD2L

    public void visitD2L(D2L o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitD2L` in interface `Visitor`
    Overrides:
      `visitD2L` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDADD

    public void visitDADD(DADD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDADD` in interface `Visitor`
    Overrides:
      `visitDADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDALOAD

    public void visitDALOAD(DALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDALOAD` in interface `Visitor`
    Overrides:
      `visitDALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDASTORE

    public void visitDASTORE(DASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDASTORE` in interface `Visitor`
    Overrides:
      `visitDASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDCMPG

    public void visitDCMPG(DCMPG o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDCMPG` in interface `Visitor`
    Overrides:
      `visitDCMPG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDCMPL

    public void visitDCMPL(DCMPL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDCMPL` in interface `Visitor`
    Overrides:
      `visitDCMPL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDCONST

    public void visitDCONST(DCONST o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDCONST` in interface `Visitor`
    Overrides:
      `visitDCONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDDIV

    public void visitDDIV(DDIV o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDDIV` in interface `Visitor`
    Overrides:
      `visitDDIV` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDLOAD

    public void visitDLOAD(DLOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDLOAD` in interface `Visitor`
    Overrides:
      `visitDLOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDMUL

    public void visitDMUL(DMUL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDMUL` in interface `Visitor`
    Overrides:
      `visitDMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDNEG

    public void visitDNEG(DNEG o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDNEG` in interface `Visitor`
    Overrides:
      `visitDNEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDREM

    public void visitDREM(DREM o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDREM` in interface `Visitor`
    Overrides:
      `visitDREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDRETURN

    public void visitDRETURN(DRETURN o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDRETURN` in interface `Visitor`
    Overrides:
      `visitDRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDSTORE

    public void visitDSTORE(DSTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDSTORE` in interface `Visitor`
    Overrides:
      `visitDSTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDSUB

    public void visitDSUB(DSUB o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDSUB` in interface `Visitor`
    Overrides:
      `visitDSUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP

    public void visitDUP(DUP o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDUP` in interface `Visitor`
    Overrides:
      `visitDUP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP_X1

    public void visitDUP_X1(DUP_X1 o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDUP_X1` in interface `Visitor`
    Overrides:
      `visitDUP_X1` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP_X2

    public void visitDUP_X2(DUP_X2 o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDUP_X2` in interface `Visitor`
    Overrides:
      `visitDUP_X2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP2

    public void visitDUP2(DUP2 o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDUP2` in interface `Visitor`
    Overrides:
      `visitDUP2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP2_X1

    public void visitDUP2_X1(DUP2_X1 o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDUP2_X1` in interface `Visitor`
    Overrides:
      `visitDUP2_X1` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP2_X2

    public void visitDUP2_X2(DUP2_X2 o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitDUP2_X2` in interface `Visitor`
    Overrides:
      `visitDUP2_X2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitF2D

    public void visitF2D(F2D o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitF2D` in interface `Visitor`
    Overrides:
      `visitF2D` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitF2I

    public void visitF2I(F2I o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitF2I` in interface `Visitor`
    Overrides:
      `visitF2I` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitF2L

    public void visitF2L(F2L o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitF2L` in interface `Visitor`
    Overrides:
      `visitF2L` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFADD

    public void visitFADD(FADD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFADD` in interface `Visitor`
    Overrides:
      `visitFADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFALOAD

    public void visitFALOAD(FALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFALOAD` in interface `Visitor`
    Overrides:
      `visitFALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFASTORE

    public void visitFASTORE(FASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFASTORE` in interface `Visitor`
    Overrides:
      `visitFASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFCMPG

    public void visitFCMPG(FCMPG o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFCMPG` in interface `Visitor`
    Overrides:
      `visitFCMPG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFCMPL

    public void visitFCMPL(FCMPL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFCMPL` in interface `Visitor`
    Overrides:
      `visitFCMPL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFCONST

    public void visitFCONST(FCONST o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFCONST` in interface `Visitor`
    Overrides:
      `visitFCONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFDIV

    public void visitFDIV(FDIV o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFDIV` in interface `Visitor`
    Overrides:
      `visitFDIV` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFLOAD

    public void visitFLOAD(FLOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFLOAD` in interface `Visitor`
    Overrides:
      `visitFLOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFMUL

    public void visitFMUL(FMUL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFMUL` in interface `Visitor`
    Overrides:
      `visitFMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFNEG

    public void visitFNEG(FNEG o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFNEG` in interface `Visitor`
    Overrides:
      `visitFNEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFREM

    public void visitFREM(FREM o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFREM` in interface `Visitor`
    Overrides:
      `visitFREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFRETURN

    public void visitFRETURN(FRETURN o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFRETURN` in interface `Visitor`
    Overrides:
      `visitFRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFSTORE

    public void visitFSTORE(FSTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFSTORE` in interface `Visitor`
    Overrides:
      `visitFSTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFSUB

    public void visitFSUB(FSUB o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitFSUB` in interface `Visitor`
    Overrides:
      `visitFSUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitGETFIELD

    public void visitGETFIELD(GETFIELD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitGETFIELD` in interface `Visitor`
    Overrides:
      `visitGETFIELD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitGETSTATIC

    public void visitGETSTATIC(GETSTATIC o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitGETSTATIC` in interface `Visitor`
    Overrides:
      `visitGETSTATIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitGOTO

    public void visitGOTO(GOTO o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitGOTO` in interface `Visitor`
    Overrides:
      `visitGOTO` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitGOTO_W

    public void visitGOTO_W(GOTO_W o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitGOTO_W` in interface `Visitor`
    Overrides:
      `visitGOTO_W` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2B

    public void visitI2B(I2B o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitI2B` in interface `Visitor`
    Overrides:
      `visitI2B` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2C

    public void visitI2C(I2C o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitI2C` in interface `Visitor`
    Overrides:
      `visitI2C` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2D

    public void visitI2D(I2D o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitI2D` in interface `Visitor`
    Overrides:
      `visitI2D` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2F

    public void visitI2F(I2F o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitI2F` in interface `Visitor`
    Overrides:
      `visitI2F` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2L

    public void visitI2L(I2L o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitI2L` in interface `Visitor`
    Overrides:
      `visitI2L` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2S

    public void visitI2S(I2S o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitI2S` in interface `Visitor`
    Overrides:
      `visitI2S` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIADD

    public void visitIADD(IADD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIADD` in interface `Visitor`
    Overrides:
      `visitIADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIALOAD

    public void visitIALOAD(IALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIALOAD` in interface `Visitor`
    Overrides:
      `visitIALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIAND

    public void visitIAND(IAND o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIAND` in interface `Visitor`
    Overrides:
      `visitIAND` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIASTORE

    public void visitIASTORE(IASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIASTORE` in interface `Visitor`
    Overrides:
      `visitIASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitICONST

    public void visitICONST(ICONST o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitICONST` in interface `Visitor`
    Overrides:
      `visitICONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIDIV

    public void visitIDIV(IDIV o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIDIV` in interface `Visitor`
    Overrides:
      `visitIDIV` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ACMPEQ

    public void visitIF_ACMPEQ(IF_ACMPEQ o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ACMPEQ` in interface `Visitor`
    Overrides:
      `visitIF_ACMPEQ` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ACMPNE

    public void visitIF_ACMPNE(IF_ACMPNE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ACMPNE` in interface `Visitor`
    Overrides:
      `visitIF_ACMPNE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ICMPEQ

    public void visitIF_ICMPEQ(IF_ICMPEQ o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ICMPEQ` in interface `Visitor`
    Overrides:
      `visitIF_ICMPEQ` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ICMPGE

    public void visitIF_ICMPGE(IF_ICMPGE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ICMPGE` in interface `Visitor`
    Overrides:
      `visitIF_ICMPGE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ICMPGT

    public void visitIF_ICMPGT(IF_ICMPGT o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ICMPGT` in interface `Visitor`
    Overrides:
      `visitIF_ICMPGT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ICMPLE

    public void visitIF_ICMPLE(IF_ICMPLE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ICMPLE` in interface `Visitor`
    Overrides:
      `visitIF_ICMPLE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ICMPLT

    public void visitIF_ICMPLT(IF_ICMPLT o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ICMPLT` in interface `Visitor`
    Overrides:
      `visitIF_ICMPLT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIF_ICMPNE

    public void visitIF_ICMPNE(IF_ICMPNE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIF_ICMPNE` in interface `Visitor`
    Overrides:
      `visitIF_ICMPNE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFEQ

    public void visitIFEQ(IFEQ o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFEQ` in interface `Visitor`
    Overrides:
      `visitIFEQ` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFGE

    public void visitIFGE(IFGE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFGE` in interface `Visitor`
    Overrides:
      `visitIFGE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFGT

    public void visitIFGT(IFGT o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFGT` in interface `Visitor`
    Overrides:
      `visitIFGT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFLE

    public void visitIFLE(IFLE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFLE` in interface `Visitor`
    Overrides:
      `visitIFLE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFLT

    public void visitIFLT(IFLT o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFLT` in interface `Visitor`
    Overrides:
      `visitIFLT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFNE

    public void visitIFNE(IFNE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFNE` in interface `Visitor`
    Overrides:
      `visitIFNE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFNONNULL

    public void visitIFNONNULL(IFNONNULL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFNONNULL` in interface `Visitor`
    Overrides:
      `visitIFNONNULL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFNULL

    public void visitIFNULL(IFNULL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIFNULL` in interface `Visitor`
    Overrides:
      `visitIFNULL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIINC

    public void visitIINC(IINC o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIINC` in interface `Visitor`
    Overrides:
      `visitIINC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitILOAD

    public void visitILOAD(ILOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitILOAD` in interface `Visitor`
    Overrides:
      `visitILOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIMUL

    public void visitIMUL(IMUL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIMUL` in interface `Visitor`
    Overrides:
      `visitIMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINEG

    public void visitINEG(INEG o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitINEG` in interface `Visitor`
    Overrides:
      `visitINEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINSTANCEOF

    public void visitINSTANCEOF(INSTANCEOF o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitINSTANCEOF` in interface `Visitor`
    Overrides:
      `visitINSTANCEOF` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKEDYNAMIC

    public void visitINVOKEDYNAMIC(INVOKEDYNAMIC o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitINVOKEDYNAMIC` in interface `Visitor`
    Overrides:
      `visitINVOKEDYNAMIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.
    Since:
      6.0

  - ### visitINVOKEINTERFACE

    public void visitINVOKEINTERFACE(INVOKEINTERFACE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitINVOKEINTERFACE` in interface `Visitor`
    Overrides:
      `visitINVOKEINTERFACE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKESPECIAL

    public void visitINVOKESPECIAL(INVOKESPECIAL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitINVOKESPECIAL` in interface `Visitor`
    Overrides:
      `visitINVOKESPECIAL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKESTATIC

    public void visitINVOKESTATIC(INVOKESTATIC o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitINVOKESTATIC` in interface `Visitor`
    Overrides:
      `visitINVOKESTATIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKEVIRTUAL

    public void visitINVOKEVIRTUAL(INVOKEVIRTUAL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitINVOKEVIRTUAL` in interface `Visitor`
    Overrides:
      `visitINVOKEVIRTUAL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIOR

    public void visitIOR(IOR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIOR` in interface `Visitor`
    Overrides:
      `visitIOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIREM

    public void visitIREM(IREM o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIREM` in interface `Visitor`
    Overrides:
      `visitIREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIRETURN

    public void visitIRETURN(IRETURN o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIRETURN` in interface `Visitor`
    Overrides:
      `visitIRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISHL

    public void visitISHL(ISHL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitISHL` in interface `Visitor`
    Overrides:
      `visitISHL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISHR

    public void visitISHR(ISHR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitISHR` in interface `Visitor`
    Overrides:
      `visitISHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISTORE

    public void visitISTORE(ISTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitISTORE` in interface `Visitor`
    Overrides:
      `visitISTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISUB

    public void visitISUB(ISUB o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitISUB` in interface `Visitor`
    Overrides:
      `visitISUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIUSHR

    public void visitIUSHR(IUSHR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIUSHR` in interface `Visitor`
    Overrides:
      `visitIUSHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIXOR

    public void visitIXOR(IXOR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitIXOR` in interface `Visitor`
    Overrides:
      `visitIXOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitJSR

    public void visitJSR(JSR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitJSR` in interface `Visitor`
    Overrides:
      `visitJSR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitJSR_W

    public void visitJSR_W(JSR_W o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitJSR_W` in interface `Visitor`
    Overrides:
      `visitJSR_W` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitL2D

    public void visitL2D(L2D o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitL2D` in interface `Visitor`
    Overrides:
      `visitL2D` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitL2F

    public void visitL2F(L2F o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitL2F` in interface `Visitor`
    Overrides:
      `visitL2F` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitL2I

    public void visitL2I(L2I o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitL2I` in interface `Visitor`
    Overrides:
      `visitL2I` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLADD

    public void visitLADD(LADD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLADD` in interface `Visitor`
    Overrides:
      `visitLADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLALOAD

    public void visitLALOAD(LALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLALOAD` in interface `Visitor`
    Overrides:
      `visitLALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLAND

    public void visitLAND(LAND o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLAND` in interface `Visitor`
    Overrides:
      `visitLAND` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLASTORE

    public void visitLASTORE(LASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLASTORE` in interface `Visitor`
    Overrides:
      `visitLASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLCMP

    public void visitLCMP(LCMP o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLCMP` in interface `Visitor`
    Overrides:
      `visitLCMP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLCONST

    public void visitLCONST(LCONST o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLCONST` in interface `Visitor`
    Overrides:
      `visitLCONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLDC

    public void visitLDC(LDC o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLDC` in interface `Visitor`
    Overrides:
      `visitLDC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLDC_W

    public void visitLDC_W(LDC_W o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Parameters:
      `o` - the instruction.

  - ### visitLDC2_W

    public void visitLDC2_W(LDC2_W o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLDC2_W` in interface `Visitor`
    Overrides:
      `visitLDC2_W` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLDIV

    public void visitLDIV(LDIV o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLDIV` in interface `Visitor`
    Overrides:
      `visitLDIV` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLLOAD

    public void visitLLOAD(LLOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLLOAD` in interface `Visitor`
    Overrides:
      `visitLLOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLMUL

    public void visitLMUL(LMUL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLMUL` in interface `Visitor`
    Overrides:
      `visitLMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLNEG

    public void visitLNEG(LNEG o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLNEG` in interface `Visitor`
    Overrides:
      `visitLNEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLOOKUPSWITCH

    public void visitLOOKUPSWITCH(LOOKUPSWITCH o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLOOKUPSWITCH` in interface `Visitor`
    Overrides:
      `visitLOOKUPSWITCH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLOR

    public void visitLOR(LOR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLOR` in interface `Visitor`
    Overrides:
      `visitLOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLREM

    public void visitLREM(LREM o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLREM` in interface `Visitor`
    Overrides:
      `visitLREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLRETURN

    public void visitLRETURN(LRETURN o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLRETURN` in interface `Visitor`
    Overrides:
      `visitLRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSHL

    public void visitLSHL(LSHL o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLSHL` in interface `Visitor`
    Overrides:
      `visitLSHL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSHR

    public void visitLSHR(LSHR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLSHR` in interface `Visitor`
    Overrides:
      `visitLSHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSTORE

    public void visitLSTORE(LSTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLSTORE` in interface `Visitor`
    Overrides:
      `visitLSTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSUB

    public void visitLSUB(LSUB o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLSUB` in interface `Visitor`
    Overrides:
      `visitLSUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLUSHR

    public void visitLUSHR(LUSHR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLUSHR` in interface `Visitor`
    Overrides:
      `visitLUSHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLXOR

    public void visitLXOR(LXOR o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitLXOR` in interface `Visitor`
    Overrides:
      `visitLXOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitMONITORENTER

    public void visitMONITORENTER(MONITORENTER o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitMONITORENTER` in interface `Visitor`
    Overrides:
      `visitMONITORENTER` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitMONITOREXIT

    public void visitMONITOREXIT(MONITOREXIT o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitMONITOREXIT` in interface `Visitor`
    Overrides:
      `visitMONITOREXIT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitMULTIANEWARRAY

    public void visitMULTIANEWARRAY(MULTIANEWARRAY o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitMULTIANEWARRAY` in interface `Visitor`
    Overrides:
      `visitMULTIANEWARRAY` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitNEW

    public void visitNEW(NEW o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitNEW` in interface `Visitor`
    Overrides:
      `visitNEW` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitNEWARRAY

    public void visitNEWARRAY(NEWARRAY o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitNEWARRAY` in interface `Visitor`
    Overrides:
      `visitNEWARRAY` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitNOP

    public void visitNOP(NOP o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitNOP` in interface `Visitor`
    Overrides:
      `visitNOP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPOP

    public void visitPOP(POP o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitPOP` in interface `Visitor`
    Overrides:
      `visitPOP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPOP2

    public void visitPOP2(POP2 o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitPOP2` in interface `Visitor`
    Overrides:
      `visitPOP2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPUTFIELD

    public void visitPUTFIELD(PUTFIELD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitPUTFIELD` in interface `Visitor`
    Overrides:
      `visitPUTFIELD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPUTSTATIC

    public void visitPUTSTATIC(PUTSTATIC o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitPUTSTATIC` in interface `Visitor`
    Overrides:
      `visitPUTSTATIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitRET

    public void visitRET(RET o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitRET` in interface `Visitor`
    Overrides:
      `visitRET` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitRETURN

    public void visitRETURN(RETURN o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitRETURN` in interface `Visitor`
    Overrides:
      `visitRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSALOAD

    public void visitSALOAD(SALOAD o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitSALOAD` in interface `Visitor`
    Overrides:
      `visitSALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSASTORE

    public void visitSASTORE(SASTORE o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitSASTORE` in interface `Visitor`
    Overrides:
      `visitSASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSIPUSH

    public void visitSIPUSH(SIPUSH o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitSIPUSH` in interface `Visitor`
    Overrides:
      `visitSIPUSH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSWAP

    public void visitSWAP(SWAP o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitSWAP` in interface `Visitor`
    Overrides:
      `visitSWAP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitTABLESWITCH

    public void visitTABLESWITCH(TABLESWITCH o)
    Symbolically executes the corresponding Java Virtual Machine instruction.
    Specified by:
      `visitTABLESWITCH` in interface `Visitor`
    Overrides:
      `visitTABLESWITCH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.