# Class InstConstraintVisitor

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

All Implemented Interfaces:
  `Visitor`

public class InstConstraintVisitor extends EmptyVisitor
A Visitor class testing for valid preconditions of JVM instructions. The instance of this class will throw a StructuralCodeConstraintException instance if an instruction is visitXXX()ed which has preconditions that are not satisfied. TODO: Currently, the JVM's behavior concerning monitors (MONITORENTER, MONITOREXIT) is not modeled in JustIce.

See Also:
  - `StructuralCodeConstraintException`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `InstConstraintVisitor()`
  The constructor.

- ## Method Summary

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

  ### Methods inherited from class EmptyVisitor

  `visitAllocationInstruction, visitArithmeticInstruction, visitArrayInstruction, visitBranchInstruction, visitConstantPushInstruction, visitConversionInstruction, visitExceptionThrower, visitFieldOrMethod, visitGotoInstruction, visitIfInstruction, visitJsrInstruction, visitPopInstruction, visitPushInstruction, visitSelect, visitTypedInstruction, visitUnconditionalBranch, visitVariableLengthInstruction`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### InstConstraintVisitor

    public InstConstraintVisitor()
    The constructor. Constructs a new instance of this class.

- ## Method Details

  - ### setConstantPoolGen

    public void setConstantPoolGen(ConstantPoolGen cpg)
    Sets the ConstantPoolGen instance needed for constraint checking prior to execution.
    Parameters:
      `cpg` - the constant pool generator.

  - ### setFrame

    public void setFrame(Frame f)
    This returns the single instance of the InstConstraintVisitor class. To operate correctly, other values must have been set before actually using the instance. Use this method for performance reasons.
    Parameters:
      `f` - the frame to set.
    See Also:
      - `setConstantPoolGen(ConstantPoolGen cpg)`
      - `setMethodGen(MethodGen mg)`

  - ### setMethodGen

    public void setMethodGen(MethodGen mg)
    Sets the MethodGen instance needed for constraint checking prior to execution.
    Parameters:
      `mg` - the method generator.

  - ### visitAALOAD

    public void visitAALOAD(AALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitAALOAD` in interface `Visitor`
    Overrides:
      `visitAALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitAASTORE

    public void visitAASTORE(AASTORE o)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitACONST_NULL` in interface `Visitor`
    Overrides:
      `visitACONST_NULL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitALOAD

    public void visitALOAD(ALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitALOAD` in interface `Visitor`
    Overrides:
      `visitALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitANEWARRAY

    public void visitANEWARRAY(ANEWARRAY o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitANEWARRAY` in interface `Visitor`
    Overrides:
      `visitANEWARRAY` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitARETURN

    public void visitARETURN(ARETURN o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitARETURN` in interface `Visitor`
    Overrides:
      `visitARETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitARRAYLENGTH

    public void visitARRAYLENGTH(ARRAYLENGTH o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitARRAYLENGTH` in interface `Visitor`
    Overrides:
      `visitARRAYLENGTH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitASTORE

    public void visitASTORE(ASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitASTORE` in interface `Visitor`
    Overrides:
      `visitASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitATHROW

    public void visitATHROW(ATHROW o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitATHROW` in interface `Visitor`
    Overrides:
      `visitATHROW` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitBALOAD

    public void visitBALOAD(BALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitBALOAD` in interface `Visitor`
    Overrides:
      `visitBALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitBASTORE

    public void visitBASTORE(BASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitBASTORE` in interface `Visitor`
    Overrides:
      `visitBASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitBIPUSH

    public void visitBIPUSH(BIPUSH o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitBIPUSH` in interface `Visitor`
    Overrides:
      `visitBIPUSH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitBREAKPOINT

    public void visitBREAKPOINT(BREAKPOINT o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitBREAKPOINT` in interface `Visitor`
    Overrides:
      `visitBREAKPOINT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitCALOAD

    public void visitCALOAD(CALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitCALOAD` in interface `Visitor`
    Overrides:
      `visitCALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitCASTORE

    public void visitCASTORE(CASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitCASTORE` in interface `Visitor`
    Overrides:
      `visitCASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitCHECKCAST

    public void visitCHECKCAST(CHECKCAST o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitCHECKCAST` in interface `Visitor`
    Overrides:
      `visitCHECKCAST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitCPInstruction

    public void visitCPInstruction(CPInstruction o)
    Ensures the general preconditions of a CPInstruction instance.
    Specified by:
      `visitCPInstruction` in interface `Visitor`
    Overrides:
      `visitCPInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitD2F

    public void visitD2F(D2F o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitD2F` in interface `Visitor`
    Overrides:
      `visitD2F` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitD2I

    public void visitD2I(D2I o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitD2I` in interface `Visitor`
    Overrides:
      `visitD2I` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitD2L

    public void visitD2L(D2L o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitD2L` in interface `Visitor`
    Overrides:
      `visitD2L` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDADD

    public void visitDADD(DADD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDADD` in interface `Visitor`
    Overrides:
      `visitDADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDALOAD

    public void visitDALOAD(DALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDALOAD` in interface `Visitor`
    Overrides:
      `visitDALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDASTORE

    public void visitDASTORE(DASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDASTORE` in interface `Visitor`
    Overrides:
      `visitDASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDCMPG

    public void visitDCMPG(DCMPG o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDCMPG` in interface `Visitor`
    Overrides:
      `visitDCMPG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDCMPL

    public void visitDCMPL(DCMPL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDCMPL` in interface `Visitor`
    Overrides:
      `visitDCMPL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDCONST

    public void visitDCONST(DCONST o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDCONST` in interface `Visitor`
    Overrides:
      `visitDCONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDDIV

    public void visitDDIV(DDIV o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDDIV` in interface `Visitor`
    Overrides:
      `visitDDIV` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDLOAD

    public void visitDLOAD(DLOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDLOAD` in interface `Visitor`
    Overrides:
      `visitDLOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDMUL

    public void visitDMUL(DMUL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDMUL` in interface `Visitor`
    Overrides:
      `visitDMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDNEG

    public void visitDNEG(DNEG o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDNEG` in interface `Visitor`
    Overrides:
      `visitDNEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDREM

    public void visitDREM(DREM o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDREM` in interface `Visitor`
    Overrides:
      `visitDREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDRETURN

    public void visitDRETURN(DRETURN o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDRETURN` in interface `Visitor`
    Overrides:
      `visitDRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDSTORE

    public void visitDSTORE(DSTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDSTORE` in interface `Visitor`
    Overrides:
      `visitDSTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDSUB

    public void visitDSUB(DSUB o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDSUB` in interface `Visitor`
    Overrides:
      `visitDSUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP

    public void visitDUP(DUP o)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDUP_X2` in interface `Visitor`
    Overrides:
      `visitDUP_X2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitDUP2

    public void visitDUP2(DUP2 o)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitDUP2_X2` in interface `Visitor`
    Overrides:
      `visitDUP2_X2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitF2D

    public void visitF2D(F2D o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitF2D` in interface `Visitor`
    Overrides:
      `visitF2D` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitF2I

    public void visitF2I(F2I o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitF2I` in interface `Visitor`
    Overrides:
      `visitF2I` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitF2L

    public void visitF2L(F2L o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitF2L` in interface `Visitor`
    Overrides:
      `visitF2L` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFADD

    public void visitFADD(FADD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFADD` in interface `Visitor`
    Overrides:
      `visitFADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFALOAD

    public void visitFALOAD(FALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFALOAD` in interface `Visitor`
    Overrides:
      `visitFALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFASTORE

    public void visitFASTORE(FASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFASTORE` in interface `Visitor`
    Overrides:
      `visitFASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFCMPG

    public void visitFCMPG(FCMPG o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFCMPG` in interface `Visitor`
    Overrides:
      `visitFCMPG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFCMPL

    public void visitFCMPL(FCMPL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFCMPL` in interface `Visitor`
    Overrides:
      `visitFCMPL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFCONST

    public void visitFCONST(FCONST o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFCONST` in interface `Visitor`
    Overrides:
      `visitFCONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFDIV

    public void visitFDIV(FDIV o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFDIV` in interface `Visitor`
    Overrides:
      `visitFDIV` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFieldInstruction

    public void visitFieldInstruction(FieldInstruction o)
    Ensures the general preconditions of a FieldInstruction instance.
    Specified by:
      `visitFieldInstruction` in interface `Visitor`
    Overrides:
      `visitFieldInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFLOAD

    public void visitFLOAD(FLOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFLOAD` in interface `Visitor`
    Overrides:
      `visitFLOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFMUL

    public void visitFMUL(FMUL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFMUL` in interface `Visitor`
    Overrides:
      `visitFMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFNEG

    public void visitFNEG(FNEG o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFNEG` in interface `Visitor`
    Overrides:
      `visitFNEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFREM

    public void visitFREM(FREM o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFREM` in interface `Visitor`
    Overrides:
      `visitFREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFRETURN

    public void visitFRETURN(FRETURN o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFRETURN` in interface `Visitor`
    Overrides:
      `visitFRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFSTORE

    public void visitFSTORE(FSTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFSTORE` in interface `Visitor`
    Overrides:
      `visitFSTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitFSUB

    public void visitFSUB(FSUB o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitFSUB` in interface `Visitor`
    Overrides:
      `visitFSUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitGETFIELD

    public void visitGETFIELD(GETFIELD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitGETFIELD` in interface `Visitor`
    Overrides:
      `visitGETFIELD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitGETSTATIC

    public void visitGETSTATIC(GETSTATIC o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitGETSTATIC` in interface `Visitor`
    Overrides:
      `visitGETSTATIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitGOTO

    public void visitGOTO(GOTO o)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitGOTO_W` in interface `Visitor`
    Overrides:
      `visitGOTO_W` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2B

    public void visitI2B(I2B o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitI2B` in interface `Visitor`
    Overrides:
      `visitI2B` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2C

    public void visitI2C(I2C o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitI2C` in interface `Visitor`
    Overrides:
      `visitI2C` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2D

    public void visitI2D(I2D o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitI2D` in interface `Visitor`
    Overrides:
      `visitI2D` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2F

    public void visitI2F(I2F o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitI2F` in interface `Visitor`
    Overrides:
      `visitI2F` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2L

    public void visitI2L(I2L o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitI2L` in interface `Visitor`
    Overrides:
      `visitI2L` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitI2S

    public void visitI2S(I2S o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitI2S` in interface `Visitor`
    Overrides:
      `visitI2S` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIADD

    public void visitIADD(IADD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIADD` in interface `Visitor`
    Overrides:
      `visitIADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIALOAD

    public void visitIALOAD(IALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIALOAD` in interface `Visitor`
    Overrides:
      `visitIALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIAND

    public void visitIAND(IAND o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIAND` in interface `Visitor`
    Overrides:
      `visitIAND` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIASTORE

    public void visitIASTORE(IASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIASTORE` in interface `Visitor`
    Overrides:
      `visitIASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitICONST

    public void visitICONST(ICONST o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitICONST` in interface `Visitor`
    Overrides:
      `visitICONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIDIV

    public void visitIDIV(IDIV o)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIF_ICMPNE` in interface `Visitor`
    Overrides:
      `visitIF_ICMPNE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFEQ

    public void visitIFEQ(IFEQ o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFEQ` in interface `Visitor`
    Overrides:
      `visitIFEQ` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFGE

    public void visitIFGE(IFGE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFGE` in interface `Visitor`
    Overrides:
      `visitIFGE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFGT

    public void visitIFGT(IFGT o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFGT` in interface `Visitor`
    Overrides:
      `visitIFGT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFLE

    public void visitIFLE(IFLE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFLE` in interface `Visitor`
    Overrides:
      `visitIFLE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFLT

    public void visitIFLT(IFLT o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFLT` in interface `Visitor`
    Overrides:
      `visitIFLT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFNE

    public void visitIFNE(IFNE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFNE` in interface `Visitor`
    Overrides:
      `visitIFNE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFNONNULL

    public void visitIFNONNULL(IFNONNULL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFNONNULL` in interface `Visitor`
    Overrides:
      `visitIFNONNULL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIFNULL

    public void visitIFNULL(IFNULL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIFNULL` in interface `Visitor`
    Overrides:
      `visitIFNULL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIINC

    public void visitIINC(IINC o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIINC` in interface `Visitor`
    Overrides:
      `visitIINC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitILOAD

    public void visitILOAD(ILOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitILOAD` in interface `Visitor`
    Overrides:
      `visitILOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIMPDEP1

    public void visitIMPDEP1(IMPDEP1 o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIMPDEP1` in interface `Visitor`
    Overrides:
      `visitIMPDEP1` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIMPDEP2

    public void visitIMPDEP2(IMPDEP2 o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIMPDEP2` in interface `Visitor`
    Overrides:
      `visitIMPDEP2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIMUL

    public void visitIMUL(IMUL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIMUL` in interface `Visitor`
    Overrides:
      `visitIMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINEG

    public void visitINEG(INEG o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitINEG` in interface `Visitor`
    Overrides:
      `visitINEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINSTANCEOF

    public void visitINSTANCEOF(INSTANCEOF o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitINSTANCEOF` in interface `Visitor`
    Overrides:
      `visitINSTANCEOF` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKEDYNAMIC

    public void visitINVOKEDYNAMIC(INVOKEDYNAMIC o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitINVOKEDYNAMIC` in interface `Visitor`
    Overrides:
      `visitINVOKEDYNAMIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.
    Since:
      6.0

  - ### visitInvokeInstruction

    public void visitInvokeInstruction(InvokeInstruction o)
    Ensures the general preconditions of an InvokeInstruction instance.
    Specified by:
      `visitInvokeInstruction` in interface `Visitor`
    Overrides:
      `visitInvokeInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKEINTERFACE

    public void visitINVOKEINTERFACE(INVOKEINTERFACE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitINVOKEINTERFACE` in interface `Visitor`
    Overrides:
      `visitINVOKEINTERFACE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKESPECIAL

    public void visitINVOKESPECIAL(INVOKESPECIAL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitINVOKESPECIAL` in interface `Visitor`
    Overrides:
      `visitINVOKESPECIAL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKESTATIC

    public void visitINVOKESTATIC(INVOKESTATIC o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitINVOKESTATIC` in interface `Visitor`
    Overrides:
      `visitINVOKESTATIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitINVOKEVIRTUAL

    public void visitINVOKEVIRTUAL(INVOKEVIRTUAL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitINVOKEVIRTUAL` in interface `Visitor`
    Overrides:
      `visitINVOKEVIRTUAL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIOR

    public void visitIOR(IOR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIOR` in interface `Visitor`
    Overrides:
      `visitIOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIREM

    public void visitIREM(IREM o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIREM` in interface `Visitor`
    Overrides:
      `visitIREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIRETURN

    public void visitIRETURN(IRETURN o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIRETURN` in interface `Visitor`
    Overrides:
      `visitIRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISHL

    public void visitISHL(ISHL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitISHL` in interface `Visitor`
    Overrides:
      `visitISHL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISHR

    public void visitISHR(ISHR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitISHR` in interface `Visitor`
    Overrides:
      `visitISHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISTORE

    public void visitISTORE(ISTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitISTORE` in interface `Visitor`
    Overrides:
      `visitISTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitISUB

    public void visitISUB(ISUB o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitISUB` in interface `Visitor`
    Overrides:
      `visitISUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIUSHR

    public void visitIUSHR(IUSHR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIUSHR` in interface `Visitor`
    Overrides:
      `visitIUSHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitIXOR

    public void visitIXOR(IXOR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitIXOR` in interface `Visitor`
    Overrides:
      `visitIXOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitJSR

    public void visitJSR(JSR o)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitJSR_W` in interface `Visitor`
    Overrides:
      `visitJSR_W` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitL2D

    public void visitL2D(L2D o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitL2D` in interface `Visitor`
    Overrides:
      `visitL2D` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitL2F

    public void visitL2F(L2F o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitL2F` in interface `Visitor`
    Overrides:
      `visitL2F` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitL2I

    public void visitL2I(L2I o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitL2I` in interface `Visitor`
    Overrides:
      `visitL2I` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLADD

    public void visitLADD(LADD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLADD` in interface `Visitor`
    Overrides:
      `visitLADD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLALOAD

    public void visitLALOAD(LALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLALOAD` in interface `Visitor`
    Overrides:
      `visitLALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLAND

    public void visitLAND(LAND o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLAND` in interface `Visitor`
    Overrides:
      `visitLAND` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLASTORE

    public void visitLASTORE(LASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLASTORE` in interface `Visitor`
    Overrides:
      `visitLASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLCMP

    public void visitLCMP(LCMP o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLCMP` in interface `Visitor`
    Overrides:
      `visitLCMP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLCONST

    public void visitLCONST(LCONST o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLCONST` in interface `Visitor`
    Overrides:
      `visitLCONST` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLDC

    public void visitLDC(LDC o)
    Ensures the specific preconditions of the said 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)
    Ensures the specific preconditions of the said instruction.
    Parameters:
      `o` - the instruction to visit.

  - ### visitLDC2_W

    public void visitLDC2_W(LDC2_W o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLDC2_W` in interface `Visitor`
    Overrides:
      `visitLDC2_W` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLDIV

    public void visitLDIV(LDIV o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLDIV` in interface `Visitor`
    Overrides:
      `visitLDIV` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLLOAD

    public void visitLLOAD(LLOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLLOAD` in interface `Visitor`
    Overrides:
      `visitLLOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLMUL

    public void visitLMUL(LMUL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLMUL` in interface `Visitor`
    Overrides:
      `visitLMUL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLNEG

    public void visitLNEG(LNEG o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLNEG` in interface `Visitor`
    Overrides:
      `visitLNEG` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLoadClass

    public void visitLoadClass(LoadClass o)
    Assures the generic preconditions of a LoadClass instance. The referenced class is loaded and pass2-verified.
    Specified by:
      `visitLoadClass` in interface `Visitor`
    Overrides:
      `visitLoadClass` in class `EmptyVisitor`
    Parameters:
      `o` - the load class.

  - ### visitLoadInstruction

    public void visitLoadInstruction(LoadInstruction o)
    Assures the generic preconditions of a LoadInstruction instance.
    Specified by:
      `visitLoadInstruction` in interface `Visitor`
    Overrides:
      `visitLoadInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLocalVariableInstruction

    public void visitLocalVariableInstruction(LocalVariableInstruction o)
    Assures the generic preconditions of a LocalVariableInstruction instance. That is, the index of the local variable must be valid.
    Specified by:
      `visitLocalVariableInstruction` in interface `Visitor`
    Overrides:
      `visitLocalVariableInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLOOKUPSWITCH

    public void visitLOOKUPSWITCH(LOOKUPSWITCH o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLOOKUPSWITCH` in interface `Visitor`
    Overrides:
      `visitLOOKUPSWITCH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLOR

    public void visitLOR(LOR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLOR` in interface `Visitor`
    Overrides:
      `visitLOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLREM

    public void visitLREM(LREM o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLREM` in interface `Visitor`
    Overrides:
      `visitLREM` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLRETURN

    public void visitLRETURN(LRETURN o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLRETURN` in interface `Visitor`
    Overrides:
      `visitLRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSHL

    public void visitLSHL(LSHL o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLSHL` in interface `Visitor`
    Overrides:
      `visitLSHL` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSHR

    public void visitLSHR(LSHR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLSHR` in interface `Visitor`
    Overrides:
      `visitLSHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSTORE

    public void visitLSTORE(LSTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLSTORE` in interface `Visitor`
    Overrides:
      `visitLSTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLSUB

    public void visitLSUB(LSUB o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLSUB` in interface `Visitor`
    Overrides:
      `visitLSUB` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLUSHR

    public void visitLUSHR(LUSHR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLUSHR` in interface `Visitor`
    Overrides:
      `visitLUSHR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitLXOR

    public void visitLXOR(LXOR o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitLXOR` in interface `Visitor`
    Overrides:
      `visitLXOR` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitMONITORENTER

    public void visitMONITORENTER(MONITORENTER o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitMONITORENTER` in interface `Visitor`
    Overrides:
      `visitMONITORENTER` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitMONITOREXIT

    public void visitMONITOREXIT(MONITOREXIT o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitMONITOREXIT` in interface `Visitor`
    Overrides:
      `visitMONITOREXIT` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitMULTIANEWARRAY

    public void visitMULTIANEWARRAY(MULTIANEWARRAY o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitMULTIANEWARRAY` in interface `Visitor`
    Overrides:
      `visitMULTIANEWARRAY` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitNEW

    public void visitNEW(NEW o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitNEW` in interface `Visitor`
    Overrides:
      `visitNEW` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitNEWARRAY

    public void visitNEWARRAY(NEWARRAY o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitNEWARRAY` in interface `Visitor`
    Overrides:
      `visitNEWARRAY` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitNOP

    public void visitNOP(NOP o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitNOP` in interface `Visitor`
    Overrides:
      `visitNOP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPOP

    public void visitPOP(POP o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitPOP` in interface `Visitor`
    Overrides:
      `visitPOP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPOP2

    public void visitPOP2(POP2 o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitPOP2` in interface `Visitor`
    Overrides:
      `visitPOP2` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPUTFIELD

    public void visitPUTFIELD(PUTFIELD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitPUTFIELD` in interface `Visitor`
    Overrides:
      `visitPUTFIELD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitPUTSTATIC

    public void visitPUTSTATIC(PUTSTATIC o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitPUTSTATIC` in interface `Visitor`
    Overrides:
      `visitPUTSTATIC` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitRET

    public void visitRET(RET o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitRET` in interface `Visitor`
    Overrides:
      `visitRET` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitRETURN

    public void visitRETURN(RETURN o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitRETURN` in interface `Visitor`
    Overrides:
      `visitRETURN` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitReturnInstruction

    public void visitReturnInstruction(ReturnInstruction o)
    Assures the generic preconditions of a ReturnInstruction instance.
    Specified by:
      `visitReturnInstruction` in interface `Visitor`
    Overrides:
      `visitReturnInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSALOAD

    public void visitSALOAD(SALOAD o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitSALOAD` in interface `Visitor`
    Overrides:
      `visitSALOAD` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSASTORE

    public void visitSASTORE(SASTORE o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitSASTORE` in interface `Visitor`
    Overrides:
      `visitSASTORE` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSIPUSH

    public void visitSIPUSH(SIPUSH o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitSIPUSH` in interface `Visitor`
    Overrides:
      `visitSIPUSH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitStackConsumer

    public void visitStackConsumer(StackConsumer o)
    Ensures the general preconditions of a StackConsumer instance.
    Specified by:
      `visitStackConsumer` in interface `Visitor`
    Overrides:
      `visitStackConsumer` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitStackInstruction

    public void visitStackInstruction(StackInstruction o)
    Ensures the general preconditions of a StackInstruction instance.
    Specified by:
      `visitStackInstruction` in interface `Visitor`
    Overrides:
      `visitStackInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitStackProducer

    public void visitStackProducer(StackProducer o)
    Ensures the general preconditions of a StackProducer instance.
    Specified by:
      `visitStackProducer` in interface `Visitor`
    Overrides:
      `visitStackProducer` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitStoreInstruction

    public void visitStoreInstruction(StoreInstruction o)
    Assures the generic preconditions of a StoreInstruction instance.
    Specified by:
      `visitStoreInstruction` in interface `Visitor`
    Overrides:
      `visitStoreInstruction` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitSWAP

    public void visitSWAP(SWAP o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitSWAP` in interface `Visitor`
    Overrides:
      `visitSWAP` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.

  - ### visitTABLESWITCH

    public void visitTABLESWITCH(TABLESWITCH o)
    Ensures the specific preconditions of the said instruction.
    Specified by:
      `visitTABLESWITCH` in interface `Visitor`
    Overrides:
      `visitTABLESWITCH` in class `EmptyVisitor`
    Parameters:
      `o` - the instruction.