Package org.apache.bcel.verifier.structurals

# 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 org.apache.bcel.generic.EmptyVisitor

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

  ### Methods inherited from class java.lang.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.

  - ### 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.
    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.

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`
    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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### visitLDC_W

    public void visitLDC_W(LDC_W o)
    Ensures the specific preconditions of the said instruction.

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`

  - ### 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`