Class AbstractFrameModelingVisitor<Value,​FrameType extends Frame<Value>>

  • All Implemented Interfaces:
    org.apache.bcel.generic.Visitor
    Direct Known Subclasses:
    ConstantFrameModelingVisitor, IsNullValueFrameModelingVisitor, ResourceValueFrameModelingVisitor, TypeFrameModelingVisitor, ValueNumberFrameModelingVisitor

    public abstract class AbstractFrameModelingVisitor<Value,​FrameType extends Frame<Value>>
    extends java.lang.Object
    implements org.apache.bcel.generic.Visitor

    A common base class for frame modeling visitors. This class provides a default implementation which copies values between frame slots whenever appropriate. For example, its handler for the ALOAD bytecode will get the value from the referenced local in the frame and push it onto the stack. Bytecodes which do something other than copying values are modeled by popping values as appropriate, and pushing the "default" value onto the stack for each stack slot produced, where the default value is the one returned by the getDefaultValue() method.

    Subclasses should override the visit methods for any bytecode instructions which require special handling.

    Users of AbstractFrameModelingVisitors should call the analyzeInstruction() method instead of directly using the accept() method of the instruction. This allows a checked DataflowAnalysisException to be thrown when invalid bytecode is detected. E.g., stack underflows.

    Author:
    David Hovemeyer
    See Also:
    Frame, DataflowAnalysis
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.bcel.generic.ConstantPoolGen cpg  
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractFrameModelingVisitor​(org.apache.bcel.generic.ConstantPoolGen cpg)
      Constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void analyzeInstruction​(org.apache.bcel.generic.Instruction ins)
      Analyze the given Instruction.
      org.apache.bcel.generic.ConstantPoolGen getCPG()
      Get the ConstantPoolGen for the method.
      abstract Value getDefaultValue()
      Produce a "default" value.
      FrameType getFrame()
      Get the frame.
      Location getLocation()
      Get the Location.
      int getNumWordsConsumed​(org.apache.bcel.generic.Instruction ins)
      Get the number of words consumed by given instruction.
      int getNumWordsProduced​(org.apache.bcel.generic.Instruction ins)
      Get the number of words produced by given instruction.
      void handleLoadInstruction​(org.apache.bcel.generic.LoadInstruction obj)
      Handler for all instructions which load values from a local variable and push them on the stack.
      void handleNormalInstruction​(org.apache.bcel.generic.Instruction ins)
      This is called to handle any instruction which does not simply copy values between stack slots.
      void handleStoreInstruction​(org.apache.bcel.generic.StoreInstruction obj)
      Handler for all instructions which pop values from the stack and store them in a local variable.
      void modelInstruction​(org.apache.bcel.generic.Instruction ins, int numWordsConsumed, int numWordsProduced, Value pushValue)
      Primitive to model the stack effect of a single instruction, explicitly specifying the value to be pushed on the stack.
      void modelNormalInstruction​(org.apache.bcel.generic.Instruction ins, int numWordsConsumed, int numWordsProduced)
      Model the stack for instructions handled by handleNormalInstruction().
      void setFrameAndLocation​(FrameType frame, Location location)
      Set the frame and Location for the instruction about to be modeled.
      void visitAALOAD​(org.apache.bcel.generic.AALOAD obj)  
      void visitAASTORE​(org.apache.bcel.generic.AASTORE obj)  
      void visitACONST_NULL​(org.apache.bcel.generic.ACONST_NULL obj)  
      void visitAllocationInstruction​(org.apache.bcel.generic.AllocationInstruction obj)  
      void visitALOAD​(org.apache.bcel.generic.ALOAD obj)  
      void visitANEWARRAY​(org.apache.bcel.generic.ANEWARRAY obj)  
      void visitARETURN​(org.apache.bcel.generic.ARETURN obj)  
      void visitArithmeticInstruction​(org.apache.bcel.generic.ArithmeticInstruction obj)  
      void visitArrayInstruction​(org.apache.bcel.generic.ArrayInstruction obj)  
      void visitARRAYLENGTH​(org.apache.bcel.generic.ARRAYLENGTH obj)  
      void visitASTORE​(org.apache.bcel.generic.ASTORE obj)  
      void visitATHROW​(org.apache.bcel.generic.ATHROW obj)  
      void visitBALOAD​(org.apache.bcel.generic.BALOAD obj)  
      void visitBASTORE​(org.apache.bcel.generic.BASTORE obj)  
      void visitBIPUSH​(org.apache.bcel.generic.BIPUSH obj)  
      void visitBranchInstruction​(org.apache.bcel.generic.BranchInstruction obj)  
      void visitBREAKPOINT​(org.apache.bcel.generic.BREAKPOINT obj)  
      void visitCALOAD​(org.apache.bcel.generic.CALOAD obj)  
      void visitCASTORE​(org.apache.bcel.generic.CASTORE obj)  
      void visitCHECKCAST​(org.apache.bcel.generic.CHECKCAST obj)  
      void visitConstantPushInstruction​(org.apache.bcel.generic.ConstantPushInstruction obj)  
      void visitConversionInstruction​(org.apache.bcel.generic.ConversionInstruction obj)
      To allow for calls to visitNULL2Z and visitNONNULL2Z, this method is made final.
      void visitConversionInstruction2​(org.apache.bcel.generic.ConversionInstruction obj)  
      void visitCPInstruction​(org.apache.bcel.generic.CPInstruction obj)  
      void visitD2F​(org.apache.bcel.generic.D2F obj)  
      void visitD2I​(org.apache.bcel.generic.D2I obj)  
      void visitD2L​(org.apache.bcel.generic.D2L obj)  
      void visitDADD​(org.apache.bcel.generic.DADD obj)  
      void visitDALOAD​(org.apache.bcel.generic.DALOAD obj)  
      void visitDASTORE​(org.apache.bcel.generic.DASTORE obj)  
      void visitDCMPG​(org.apache.bcel.generic.DCMPG obj)  
      void visitDCMPL​(org.apache.bcel.generic.DCMPL obj)  
      void visitDCONST​(org.apache.bcel.generic.DCONST obj)  
      void visitDDIV​(org.apache.bcel.generic.DDIV obj)  
      void visitDLOAD​(org.apache.bcel.generic.DLOAD obj)  
      void visitDMUL​(org.apache.bcel.generic.DMUL obj)  
      void visitDNEG​(org.apache.bcel.generic.DNEG obj)  
      void visitDREM​(org.apache.bcel.generic.DREM obj)  
      void visitDRETURN​(org.apache.bcel.generic.DRETURN obj)  
      void visitDSTORE​(org.apache.bcel.generic.DSTORE obj)  
      void visitDSUB​(org.apache.bcel.generic.DSUB obj)  
      void visitDUP​(org.apache.bcel.generic.DUP obj)  
      void visitDUP_X1​(org.apache.bcel.generic.DUP_X1 obj)  
      void visitDUP_X2​(org.apache.bcel.generic.DUP_X2 obj)  
      void visitDUP2​(org.apache.bcel.generic.DUP2 obj)  
      void visitDUP2_X1​(org.apache.bcel.generic.DUP2_X1 obj)  
      void visitDUP2_X2​(org.apache.bcel.generic.DUP2_X2 obj)  
      void visitExceptionThrower​(org.apache.bcel.generic.ExceptionThrower obj)  
      void visitF2D​(org.apache.bcel.generic.F2D obj)  
      void visitF2I​(org.apache.bcel.generic.F2I obj)  
      void visitF2L​(org.apache.bcel.generic.F2L obj)  
      void visitFADD​(org.apache.bcel.generic.FADD obj)  
      void visitFALOAD​(org.apache.bcel.generic.FALOAD obj)  
      void visitFASTORE​(org.apache.bcel.generic.FASTORE obj)  
      void visitFCMPG​(org.apache.bcel.generic.FCMPG obj)  
      void visitFCMPL​(org.apache.bcel.generic.FCMPL obj)  
      void visitFCONST​(org.apache.bcel.generic.FCONST obj)  
      void visitFDIV​(org.apache.bcel.generic.FDIV obj)  
      void visitFieldInstruction​(org.apache.bcel.generic.FieldInstruction obj)  
      void visitFieldOrMethod​(org.apache.bcel.generic.FieldOrMethod obj)  
      void visitFLOAD​(org.apache.bcel.generic.FLOAD obj)  
      void visitFMUL​(org.apache.bcel.generic.FMUL obj)  
      void visitFNEG​(org.apache.bcel.generic.FNEG obj)  
      void visitFREM​(org.apache.bcel.generic.FREM obj)  
      void visitFRETURN​(org.apache.bcel.generic.FRETURN obj)  
      void visitFSTORE​(org.apache.bcel.generic.FSTORE obj)  
      void visitFSUB​(org.apache.bcel.generic.FSUB obj)  
      void visitGETFIELD​(org.apache.bcel.generic.GETFIELD obj)  
      void visitGETSTATIC​(org.apache.bcel.generic.GETSTATIC obj)  
      void visitGOTO​(org.apache.bcel.generic.GOTO obj)  
      void visitGOTO_W​(org.apache.bcel.generic.GOTO_W obj)  
      void visitGotoInstruction​(org.apache.bcel.generic.GotoInstruction obj)  
      void visitI2B​(org.apache.bcel.generic.I2B obj)  
      void visitI2C​(org.apache.bcel.generic.I2C obj)  
      void visitI2D​(org.apache.bcel.generic.I2D obj)  
      void visitI2F​(org.apache.bcel.generic.I2F obj)  
      void visitI2L​(org.apache.bcel.generic.I2L obj)  
      void visitI2S​(org.apache.bcel.generic.I2S obj)  
      void visitIADD​(org.apache.bcel.generic.IADD obj)  
      void visitIALOAD​(org.apache.bcel.generic.IALOAD obj)  
      void visitIAND​(org.apache.bcel.generic.IAND obj)  
      void visitIASTORE​(org.apache.bcel.generic.IASTORE obj)  
      void visitICONST​(org.apache.bcel.generic.ICONST obj)  
      void visitIDIV​(org.apache.bcel.generic.IDIV obj)  
      void visitIF_ACMPEQ​(org.apache.bcel.generic.IF_ACMPEQ obj)  
      void visitIF_ACMPNE​(org.apache.bcel.generic.IF_ACMPNE obj)  
      void visitIF_ICMPEQ​(org.apache.bcel.generic.IF_ICMPEQ obj)  
      void visitIF_ICMPGE​(org.apache.bcel.generic.IF_ICMPGE obj)  
      void visitIF_ICMPGT​(org.apache.bcel.generic.IF_ICMPGT obj)  
      void visitIF_ICMPLE​(org.apache.bcel.generic.IF_ICMPLE obj)  
      void visitIF_ICMPLT​(org.apache.bcel.generic.IF_ICMPLT obj)  
      void visitIF_ICMPNE​(org.apache.bcel.generic.IF_ICMPNE obj)  
      void visitIFEQ​(org.apache.bcel.generic.IFEQ obj)  
      void visitIFGE​(org.apache.bcel.generic.IFGE obj)  
      void visitIFGT​(org.apache.bcel.generic.IFGT obj)  
      void visitIfInstruction​(org.apache.bcel.generic.IfInstruction obj)  
      void visitIFLE​(org.apache.bcel.generic.IFLE obj)  
      void visitIFLT​(org.apache.bcel.generic.IFLT obj)  
      void visitIFNE​(org.apache.bcel.generic.IFNE obj)  
      void visitIFNONNULL​(org.apache.bcel.generic.IFNONNULL obj)  
      void visitIFNULL​(org.apache.bcel.generic.IFNULL obj)  
      void visitIINC​(org.apache.bcel.generic.IINC obj)  
      void visitILOAD​(org.apache.bcel.generic.ILOAD obj)  
      void visitIMPDEP1​(org.apache.bcel.generic.IMPDEP1 obj)  
      void visitIMPDEP2​(org.apache.bcel.generic.IMPDEP2 obj)  
      void visitIMUL​(org.apache.bcel.generic.IMUL obj)  
      void visitINEG​(org.apache.bcel.generic.INEG obj)  
      void visitINSTANCEOF​(org.apache.bcel.generic.INSTANCEOF obj)  
      void visitINVOKEDYNAMIC​(org.apache.bcel.generic.INVOKEDYNAMIC obj)  
      void visitInvokeInstruction​(org.apache.bcel.generic.InvokeInstruction obj)  
      void visitINVOKEINTERFACE​(org.apache.bcel.generic.INVOKEINTERFACE obj)  
      void visitINVOKESPECIAL​(org.apache.bcel.generic.INVOKESPECIAL obj)  
      void visitINVOKESTATIC​(org.apache.bcel.generic.INVOKESTATIC obj)  
      void visitINVOKEVIRTUAL​(org.apache.bcel.generic.INVOKEVIRTUAL obj)  
      void visitIOR​(org.apache.bcel.generic.IOR obj)  
      void visitIREM​(org.apache.bcel.generic.IREM obj)  
      void visitIRETURN​(org.apache.bcel.generic.IRETURN obj)  
      void visitISHL​(org.apache.bcel.generic.ISHL obj)  
      void visitISHR​(org.apache.bcel.generic.ISHR obj)  
      void visitISTORE​(org.apache.bcel.generic.ISTORE obj)  
      void visitISUB​(org.apache.bcel.generic.ISUB obj)  
      void visitIUSHR​(org.apache.bcel.generic.IUSHR obj)  
      void visitIXOR​(org.apache.bcel.generic.IXOR obj)  
      void visitJSR​(org.apache.bcel.generic.JSR obj)  
      void visitJSR_W​(org.apache.bcel.generic.JSR_W obj)  
      void visitJsrInstruction​(org.apache.bcel.generic.JsrInstruction obj)  
      void visitL2D​(org.apache.bcel.generic.L2D obj)  
      void visitL2F​(org.apache.bcel.generic.L2F obj)  
      void visitL2I​(org.apache.bcel.generic.L2I obj)  
      void visitLADD​(org.apache.bcel.generic.LADD obj)  
      void visitLALOAD​(org.apache.bcel.generic.LALOAD obj)  
      void visitLAND​(org.apache.bcel.generic.LAND obj)  
      void visitLASTORE​(org.apache.bcel.generic.LASTORE obj)  
      void visitLCMP​(org.apache.bcel.generic.LCMP obj)  
      void visitLCONST​(org.apache.bcel.generic.LCONST obj)  
      void visitLDC​(org.apache.bcel.generic.LDC obj)  
      void visitLDC2_W​(org.apache.bcel.generic.LDC2_W obj)  
      void visitLDIV​(org.apache.bcel.generic.LDIV obj)  
      void visitLLOAD​(org.apache.bcel.generic.LLOAD obj)  
      void visitLMUL​(org.apache.bcel.generic.LMUL obj)  
      void visitLNEG​(org.apache.bcel.generic.LNEG obj)  
      void visitLoadClass​(org.apache.bcel.generic.LoadClass obj)  
      void visitLoadInstruction​(org.apache.bcel.generic.LoadInstruction obj)  
      void visitLocalVariableInstruction​(org.apache.bcel.generic.LocalVariableInstruction obj)  
      void visitLOOKUPSWITCH​(org.apache.bcel.generic.LOOKUPSWITCH obj)  
      void visitLOR​(org.apache.bcel.generic.LOR obj)  
      void visitLREM​(org.apache.bcel.generic.LREM obj)  
      void visitLRETURN​(org.apache.bcel.generic.LRETURN obj)  
      void visitLSHL​(org.apache.bcel.generic.LSHL obj)  
      void visitLSHR​(org.apache.bcel.generic.LSHR obj)  
      void visitLSTORE​(org.apache.bcel.generic.LSTORE obj)  
      void visitLSUB​(org.apache.bcel.generic.LSUB obj)  
      void visitLUSHR​(org.apache.bcel.generic.LUSHR obj)  
      void visitLXOR​(org.apache.bcel.generic.LXOR obj)  
      void visitMONITORENTER​(org.apache.bcel.generic.MONITORENTER obj)  
      void visitMONITOREXIT​(org.apache.bcel.generic.MONITOREXIT obj)  
      void visitMULTIANEWARRAY​(org.apache.bcel.generic.MULTIANEWARRAY obj)  
      void visitNEW​(org.apache.bcel.generic.NEW obj)  
      void visitNEWARRAY​(org.apache.bcel.generic.NEWARRAY obj)  
      void visitNONNULL2Z​(NONNULL2Z obj)  
      void visitNOP​(org.apache.bcel.generic.NOP obj)  
      void visitNULL2Z​(NULL2Z obj)  
      void visitPOP​(org.apache.bcel.generic.POP obj)  
      void visitPOP2​(org.apache.bcel.generic.POP2 obj)  
      void visitPopInstruction​(org.apache.bcel.generic.PopInstruction obj)  
      void visitPushInstruction​(org.apache.bcel.generic.PushInstruction obj)  
      void visitPUTFIELD​(org.apache.bcel.generic.PUTFIELD obj)  
      void visitPUTSTATIC​(org.apache.bcel.generic.PUTSTATIC obj)  
      void visitRET​(org.apache.bcel.generic.RET obj)  
      void visitRETURN​(org.apache.bcel.generic.RETURN obj)  
      void visitReturnInstruction​(org.apache.bcel.generic.ReturnInstruction obj)  
      void visitSALOAD​(org.apache.bcel.generic.SALOAD obj)  
      void visitSASTORE​(org.apache.bcel.generic.SASTORE obj)  
      void visitSelect​(org.apache.bcel.generic.Select obj)  
      void visitSIPUSH​(org.apache.bcel.generic.SIPUSH obj)  
      void visitStackConsumer​(org.apache.bcel.generic.StackConsumer obj)  
      void visitStackInstruction​(org.apache.bcel.generic.StackInstruction obj)  
      void visitStackProducer​(org.apache.bcel.generic.StackProducer obj)  
      void visitStoreInstruction​(org.apache.bcel.generic.StoreInstruction obj)  
      void visitSWAP​(org.apache.bcel.generic.SWAP obj)  
      void visitTABLESWITCH​(org.apache.bcel.generic.TABLESWITCH obj)  
      void visitTypedInstruction​(org.apache.bcel.generic.TypedInstruction obj)  
      void visitUnconditionalBranch​(org.apache.bcel.generic.UnconditionalBranch obj)  
      void visitVariableLengthInstruction​(org.apache.bcel.generic.VariableLengthInstruction obj)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • cpg

        protected org.apache.bcel.generic.ConstantPoolGen cpg
    • Constructor Detail

      • AbstractFrameModelingVisitor

        public AbstractFrameModelingVisitor​(org.apache.bcel.generic.ConstantPoolGen cpg)
        Constructor.
        Parameters:
        cpg - the ConstantPoolGen of the method to be analyzed
    • Method Detail

      • analyzeInstruction

        public void analyzeInstruction​(org.apache.bcel.generic.Instruction ins)
                                throws DataflowAnalysisException
        Analyze the given Instruction.
        Parameters:
        ins - the Instruction
        Throws:
        DataflowAnalysisException - if an error occurs analyzing the instruction; in most cases, this indicates that the bytecode for the method being analyzed is invalid
      • getCPG

        public org.apache.bcel.generic.ConstantPoolGen getCPG()
        Get the ConstantPoolGen for the method.
      • setFrameAndLocation

        public void setFrameAndLocation​(FrameType frame,
                                        Location location)
        Set the frame and Location for the instruction about to be modeled.
        Parameters:
        frame - the Frame
        location - the Location
      • getFrame

        public FrameType getFrame()
        Get the frame.
        Returns:
        the Frame object
      • getLocation

        public Location getLocation()
        Get the Location.
        Returns:
        the Location
      • getDefaultValue

        public abstract Value getDefaultValue()
        Produce a "default" value. This is what is pushed onto the stack by the handleNormalInstruction() method for instructions which produce stack values.
      • getNumWordsConsumed

        public int getNumWordsConsumed​(org.apache.bcel.generic.Instruction ins)
        Get the number of words consumed by given instruction.
      • getNumWordsProduced

        public int getNumWordsProduced​(org.apache.bcel.generic.Instruction ins)
        Get the number of words produced by given instruction.
      • visitStackInstruction

        public void visitStackInstruction​(org.apache.bcel.generic.StackInstruction obj)
        Specified by:
        visitStackInstruction in interface org.apache.bcel.generic.Visitor
      • visitLocalVariableInstruction

        public void visitLocalVariableInstruction​(org.apache.bcel.generic.LocalVariableInstruction obj)
        Specified by:
        visitLocalVariableInstruction in interface org.apache.bcel.generic.Visitor
      • visitBranchInstruction

        public void visitBranchInstruction​(org.apache.bcel.generic.BranchInstruction obj)
        Specified by:
        visitBranchInstruction in interface org.apache.bcel.generic.Visitor
      • visitLoadClass

        public void visitLoadClass​(org.apache.bcel.generic.LoadClass obj)
        Specified by:
        visitLoadClass in interface org.apache.bcel.generic.Visitor
      • visitFieldInstruction

        public void visitFieldInstruction​(org.apache.bcel.generic.FieldInstruction obj)
        Specified by:
        visitFieldInstruction in interface org.apache.bcel.generic.Visitor
      • visitIfInstruction

        public void visitIfInstruction​(org.apache.bcel.generic.IfInstruction obj)
        Specified by:
        visitIfInstruction in interface org.apache.bcel.generic.Visitor
      • visitConversionInstruction

        public final void visitConversionInstruction​(org.apache.bcel.generic.ConversionInstruction obj)
        To allow for calls to visitNULL2Z and visitNONNULL2Z, this method is made final. If you want to override it, override visitConversionInstruction2 instead.
        Specified by:
        visitConversionInstruction in interface org.apache.bcel.generic.Visitor
      • visitConversionInstruction2

        public final void visitConversionInstruction2​(org.apache.bcel.generic.ConversionInstruction obj)
      • visitPopInstruction

        public void visitPopInstruction​(org.apache.bcel.generic.PopInstruction obj)
        Specified by:
        visitPopInstruction in interface org.apache.bcel.generic.Visitor
      • visitJsrInstruction

        public void visitJsrInstruction​(org.apache.bcel.generic.JsrInstruction obj)
        Specified by:
        visitJsrInstruction in interface org.apache.bcel.generic.Visitor
      • visitGotoInstruction

        public void visitGotoInstruction​(org.apache.bcel.generic.GotoInstruction obj)
        Specified by:
        visitGotoInstruction in interface org.apache.bcel.generic.Visitor
      • visitStoreInstruction

        public void visitStoreInstruction​(org.apache.bcel.generic.StoreInstruction obj)
        Specified by:
        visitStoreInstruction in interface org.apache.bcel.generic.Visitor
      • visitTypedInstruction

        public void visitTypedInstruction​(org.apache.bcel.generic.TypedInstruction obj)
        Specified by:
        visitTypedInstruction in interface org.apache.bcel.generic.Visitor
      • visitSelect

        public void visitSelect​(org.apache.bcel.generic.Select obj)
        Specified by:
        visitSelect in interface org.apache.bcel.generic.Visitor
      • visitUnconditionalBranch

        public void visitUnconditionalBranch​(org.apache.bcel.generic.UnconditionalBranch obj)
        Specified by:
        visitUnconditionalBranch in interface org.apache.bcel.generic.Visitor
      • visitPushInstruction

        public void visitPushInstruction​(org.apache.bcel.generic.PushInstruction obj)
        Specified by:
        visitPushInstruction in interface org.apache.bcel.generic.Visitor
      • visitArithmeticInstruction

        public void visitArithmeticInstruction​(org.apache.bcel.generic.ArithmeticInstruction obj)
        Specified by:
        visitArithmeticInstruction in interface org.apache.bcel.generic.Visitor
      • visitCPInstruction

        public void visitCPInstruction​(org.apache.bcel.generic.CPInstruction obj)
        Specified by:
        visitCPInstruction in interface org.apache.bcel.generic.Visitor
      • visitInvokeInstruction

        public void visitInvokeInstruction​(org.apache.bcel.generic.InvokeInstruction obj)
        Specified by:
        visitInvokeInstruction in interface org.apache.bcel.generic.Visitor
      • visitArrayInstruction

        public void visitArrayInstruction​(org.apache.bcel.generic.ArrayInstruction obj)
        Specified by:
        visitArrayInstruction in interface org.apache.bcel.generic.Visitor
      • visitAllocationInstruction

        public void visitAllocationInstruction​(org.apache.bcel.generic.AllocationInstruction obj)
        Specified by:
        visitAllocationInstruction in interface org.apache.bcel.generic.Visitor
      • visitReturnInstruction

        public void visitReturnInstruction​(org.apache.bcel.generic.ReturnInstruction obj)
        Specified by:
        visitReturnInstruction in interface org.apache.bcel.generic.Visitor
      • visitFieldOrMethod

        public void visitFieldOrMethod​(org.apache.bcel.generic.FieldOrMethod obj)
        Specified by:
        visitFieldOrMethod in interface org.apache.bcel.generic.Visitor
      • visitConstantPushInstruction

        public void visitConstantPushInstruction​(org.apache.bcel.generic.ConstantPushInstruction obj)
        Specified by:
        visitConstantPushInstruction in interface org.apache.bcel.generic.Visitor
      • visitExceptionThrower

        public void visitExceptionThrower​(org.apache.bcel.generic.ExceptionThrower obj)
        Specified by:
        visitExceptionThrower in interface org.apache.bcel.generic.Visitor
      • visitLoadInstruction

        public void visitLoadInstruction​(org.apache.bcel.generic.LoadInstruction obj)
        Specified by:
        visitLoadInstruction in interface org.apache.bcel.generic.Visitor
      • visitVariableLengthInstruction

        public void visitVariableLengthInstruction​(org.apache.bcel.generic.VariableLengthInstruction obj)
        Specified by:
        visitVariableLengthInstruction in interface org.apache.bcel.generic.Visitor
      • visitStackProducer

        public void visitStackProducer​(org.apache.bcel.generic.StackProducer obj)
        Specified by:
        visitStackProducer in interface org.apache.bcel.generic.Visitor
      • visitStackConsumer

        public void visitStackConsumer​(org.apache.bcel.generic.StackConsumer obj)
        Specified by:
        visitStackConsumer in interface org.apache.bcel.generic.Visitor
      • handleStoreInstruction

        public void handleStoreInstruction​(org.apache.bcel.generic.StoreInstruction obj)
        Handler for all instructions which pop values from the stack and store them in a local variable. Note that two locals are stored into for long and double stores.
      • handleLoadInstruction

        public void handleLoadInstruction​(org.apache.bcel.generic.LoadInstruction obj)
        Handler for all instructions which load values from a local variable and push them on the stack. Note that two locals are loaded for long and double loads.
      • handleNormalInstruction

        public void handleNormalInstruction​(org.apache.bcel.generic.Instruction ins)
        This is called to handle any instruction which does not simply copy values between stack slots. The default value is pushed (if the instruction is a stack producer).
      • modelNormalInstruction

        public void modelNormalInstruction​(org.apache.bcel.generic.Instruction ins,
                                           int numWordsConsumed,
                                           int numWordsProduced)
        Model the stack for instructions handled by handleNormalInstruction(). Subclasses may override to provide analysis-specific behavior.
        Parameters:
        ins - the Instruction to model
        numWordsConsumed - number of stack words consumed
        numWordsProduced - number of stack words produced
      • modelInstruction

        public void modelInstruction​(org.apache.bcel.generic.Instruction ins,
                                     int numWordsConsumed,
                                     int numWordsProduced,
                                     Value pushValue)
        Primitive to model the stack effect of a single instruction, explicitly specifying the value to be pushed on the stack.
        Parameters:
        ins - the Instruction to model
        numWordsConsumed - number of stack words consumed
        numWordsProduced - number of stack words produced
        pushValue - value to push on the stack
      • visitASTORE

        public void visitASTORE​(org.apache.bcel.generic.ASTORE obj)
        Specified by:
        visitASTORE in interface org.apache.bcel.generic.Visitor
      • visitDSTORE

        public void visitDSTORE​(org.apache.bcel.generic.DSTORE obj)
        Specified by:
        visitDSTORE in interface org.apache.bcel.generic.Visitor
      • visitFSTORE

        public void visitFSTORE​(org.apache.bcel.generic.FSTORE obj)
        Specified by:
        visitFSTORE in interface org.apache.bcel.generic.Visitor
      • visitISTORE

        public void visitISTORE​(org.apache.bcel.generic.ISTORE obj)
        Specified by:
        visitISTORE in interface org.apache.bcel.generic.Visitor
      • visitLSTORE

        public void visitLSTORE​(org.apache.bcel.generic.LSTORE obj)
        Specified by:
        visitLSTORE in interface org.apache.bcel.generic.Visitor
      • visitALOAD

        public void visitALOAD​(org.apache.bcel.generic.ALOAD obj)
        Specified by:
        visitALOAD in interface org.apache.bcel.generic.Visitor
      • visitDLOAD

        public void visitDLOAD​(org.apache.bcel.generic.DLOAD obj)
        Specified by:
        visitDLOAD in interface org.apache.bcel.generic.Visitor
      • visitFLOAD

        public void visitFLOAD​(org.apache.bcel.generic.FLOAD obj)
        Specified by:
        visitFLOAD in interface org.apache.bcel.generic.Visitor
      • visitILOAD

        public void visitILOAD​(org.apache.bcel.generic.ILOAD obj)
        Specified by:
        visitILOAD in interface org.apache.bcel.generic.Visitor
      • visitLLOAD

        public void visitLLOAD​(org.apache.bcel.generic.LLOAD obj)
        Specified by:
        visitLLOAD in interface org.apache.bcel.generic.Visitor
      • visitPOP

        public void visitPOP​(org.apache.bcel.generic.POP obj)
        Specified by:
        visitPOP in interface org.apache.bcel.generic.Visitor
      • visitPOP2

        public void visitPOP2​(org.apache.bcel.generic.POP2 obj)
        Specified by:
        visitPOP2 in interface org.apache.bcel.generic.Visitor
      • visitDUP

        public void visitDUP​(org.apache.bcel.generic.DUP obj)
        Specified by:
        visitDUP in interface org.apache.bcel.generic.Visitor
      • visitDUP_X1

        public void visitDUP_X1​(org.apache.bcel.generic.DUP_X1 obj)
        Specified by:
        visitDUP_X1 in interface org.apache.bcel.generic.Visitor
      • visitDUP_X2

        public void visitDUP_X2​(org.apache.bcel.generic.DUP_X2 obj)
        Specified by:
        visitDUP_X2 in interface org.apache.bcel.generic.Visitor
      • visitDUP2

        public void visitDUP2​(org.apache.bcel.generic.DUP2 obj)
        Specified by:
        visitDUP2 in interface org.apache.bcel.generic.Visitor
      • visitDUP2_X1

        public void visitDUP2_X1​(org.apache.bcel.generic.DUP2_X1 obj)
        Specified by:
        visitDUP2_X1 in interface org.apache.bcel.generic.Visitor
      • visitDUP2_X2

        public void visitDUP2_X2​(org.apache.bcel.generic.DUP2_X2 obj)
        Specified by:
        visitDUP2_X2 in interface org.apache.bcel.generic.Visitor
      • visitSWAP

        public void visitSWAP​(org.apache.bcel.generic.SWAP obj)
        Specified by:
        visitSWAP in interface org.apache.bcel.generic.Visitor
      • visitIMPDEP1

        public void visitIMPDEP1​(org.apache.bcel.generic.IMPDEP1 obj)
        Specified by:
        visitIMPDEP1 in interface org.apache.bcel.generic.Visitor
      • visitIMPDEP2

        public void visitIMPDEP2​(org.apache.bcel.generic.IMPDEP2 obj)
        Specified by:
        visitIMPDEP2 in interface org.apache.bcel.generic.Visitor
      • visitBREAKPOINT

        public void visitBREAKPOINT​(org.apache.bcel.generic.BREAKPOINT obj)
        Specified by:
        visitBREAKPOINT in interface org.apache.bcel.generic.Visitor
      • visitACONST_NULL

        public void visitACONST_NULL​(org.apache.bcel.generic.ACONST_NULL obj)
        Specified by:
        visitACONST_NULL in interface org.apache.bcel.generic.Visitor
      • visitGETSTATIC

        public void visitGETSTATIC​(org.apache.bcel.generic.GETSTATIC obj)
        Specified by:
        visitGETSTATIC in interface org.apache.bcel.generic.Visitor
      • visitIF_ICMPLT

        public void visitIF_ICMPLT​(org.apache.bcel.generic.IF_ICMPLT obj)
        Specified by:
        visitIF_ICMPLT in interface org.apache.bcel.generic.Visitor
      • visitMONITOREXIT

        public void visitMONITOREXIT​(org.apache.bcel.generic.MONITOREXIT obj)
        Specified by:
        visitMONITOREXIT in interface org.apache.bcel.generic.Visitor
      • visitIFLT

        public void visitIFLT​(org.apache.bcel.generic.IFLT obj)
        Specified by:
        visitIFLT in interface org.apache.bcel.generic.Visitor
      • visitBASTORE

        public void visitBASTORE​(org.apache.bcel.generic.BASTORE obj)
        Specified by:
        visitBASTORE in interface org.apache.bcel.generic.Visitor
      • visitCHECKCAST

        public void visitCHECKCAST​(org.apache.bcel.generic.CHECKCAST obj)
        Specified by:
        visitCHECKCAST in interface org.apache.bcel.generic.Visitor
      • visitFCMPG

        public void visitFCMPG​(org.apache.bcel.generic.FCMPG obj)
        Specified by:
        visitFCMPG in interface org.apache.bcel.generic.Visitor
      • visitI2F

        public void visitI2F​(org.apache.bcel.generic.I2F obj)
        Specified by:
        visitI2F in interface org.apache.bcel.generic.Visitor
      • visitATHROW

        public void visitATHROW​(org.apache.bcel.generic.ATHROW obj)
        Specified by:
        visitATHROW in interface org.apache.bcel.generic.Visitor
      • visitDCMPL

        public void visitDCMPL​(org.apache.bcel.generic.DCMPL obj)
        Specified by:
        visitDCMPL in interface org.apache.bcel.generic.Visitor
      • visitARRAYLENGTH

        public void visitARRAYLENGTH​(org.apache.bcel.generic.ARRAYLENGTH obj)
        Specified by:
        visitARRAYLENGTH in interface org.apache.bcel.generic.Visitor
      • visitINVOKESTATIC

        public void visitINVOKESTATIC​(org.apache.bcel.generic.INVOKESTATIC obj)
        Specified by:
        visitINVOKESTATIC in interface org.apache.bcel.generic.Visitor
      • visitLCONST

        public void visitLCONST​(org.apache.bcel.generic.LCONST obj)
        Specified by:
        visitLCONST in interface org.apache.bcel.generic.Visitor
      • visitDREM

        public void visitDREM​(org.apache.bcel.generic.DREM obj)
        Specified by:
        visitDREM in interface org.apache.bcel.generic.Visitor
      • visitIFGE

        public void visitIFGE​(org.apache.bcel.generic.IFGE obj)
        Specified by:
        visitIFGE in interface org.apache.bcel.generic.Visitor
      • visitCALOAD

        public void visitCALOAD​(org.apache.bcel.generic.CALOAD obj)
        Specified by:
        visitCALOAD in interface org.apache.bcel.generic.Visitor
      • visitLASTORE

        public void visitLASTORE​(org.apache.bcel.generic.LASTORE obj)
        Specified by:
        visitLASTORE in interface org.apache.bcel.generic.Visitor
      • visitI2D

        public void visitI2D​(org.apache.bcel.generic.I2D obj)
        Specified by:
        visitI2D in interface org.apache.bcel.generic.Visitor
      • visitDADD

        public void visitDADD​(org.apache.bcel.generic.DADD obj)
        Specified by:
        visitDADD in interface org.apache.bcel.generic.Visitor
      • visitINVOKESPECIAL

        public void visitINVOKESPECIAL​(org.apache.bcel.generic.INVOKESPECIAL obj)
        Specified by:
        visitINVOKESPECIAL in interface org.apache.bcel.generic.Visitor
      • visitIAND

        public void visitIAND​(org.apache.bcel.generic.IAND obj)
        Specified by:
        visitIAND in interface org.apache.bcel.generic.Visitor
      • visitPUTFIELD

        public void visitPUTFIELD​(org.apache.bcel.generic.PUTFIELD obj)
        Specified by:
        visitPUTFIELD in interface org.apache.bcel.generic.Visitor
      • visitDCONST

        public void visitDCONST​(org.apache.bcel.generic.DCONST obj)
        Specified by:
        visitDCONST in interface org.apache.bcel.generic.Visitor
      • visitNEW

        public void visitNEW​(org.apache.bcel.generic.NEW obj)
        Specified by:
        visitNEW in interface org.apache.bcel.generic.Visitor
      • visitIFNULL

        public void visitIFNULL​(org.apache.bcel.generic.IFNULL obj)
        Specified by:
        visitIFNULL in interface org.apache.bcel.generic.Visitor
      • visitLSUB

        public void visitLSUB​(org.apache.bcel.generic.LSUB obj)
        Specified by:
        visitLSUB in interface org.apache.bcel.generic.Visitor
      • visitL2I

        public void visitL2I​(org.apache.bcel.generic.L2I obj)
        Specified by:
        visitL2I in interface org.apache.bcel.generic.Visitor
      • visitISHR

        public void visitISHR​(org.apache.bcel.generic.ISHR obj)
        Specified by:
        visitISHR in interface org.apache.bcel.generic.Visitor
      • visitTABLESWITCH

        public void visitTABLESWITCH​(org.apache.bcel.generic.TABLESWITCH obj)
        Specified by:
        visitTABLESWITCH in interface org.apache.bcel.generic.Visitor
      • visitIINC

        public void visitIINC​(org.apache.bcel.generic.IINC obj)
        Specified by:
        visitIINC in interface org.apache.bcel.generic.Visitor
      • visitDRETURN

        public void visitDRETURN​(org.apache.bcel.generic.DRETURN obj)
        Specified by:
        visitDRETURN in interface org.apache.bcel.generic.Visitor
      • visitDASTORE

        public void visitDASTORE​(org.apache.bcel.generic.DASTORE obj)
        Specified by:
        visitDASTORE in interface org.apache.bcel.generic.Visitor
      • visitIALOAD

        public void visitIALOAD​(org.apache.bcel.generic.IALOAD obj)
        Specified by:
        visitIALOAD in interface org.apache.bcel.generic.Visitor
      • visitDDIV

        public void visitDDIV​(org.apache.bcel.generic.DDIV obj)
        Specified by:
        visitDDIV in interface org.apache.bcel.generic.Visitor
      • visitIF_ICMPGE

        public void visitIF_ICMPGE​(org.apache.bcel.generic.IF_ICMPGE obj)
        Specified by:
        visitIF_ICMPGE in interface org.apache.bcel.generic.Visitor
      • visitLAND

        public void visitLAND​(org.apache.bcel.generic.LAND obj)
        Specified by:
        visitLAND in interface org.apache.bcel.generic.Visitor
      • visitIDIV

        public void visitIDIV​(org.apache.bcel.generic.IDIV obj)
        Specified by:
        visitIDIV in interface org.apache.bcel.generic.Visitor
      • visitLOR

        public void visitLOR​(org.apache.bcel.generic.LOR obj)
        Specified by:
        visitLOR in interface org.apache.bcel.generic.Visitor
      • visitCASTORE

        public void visitCASTORE​(org.apache.bcel.generic.CASTORE obj)
        Specified by:
        visitCASTORE in interface org.apache.bcel.generic.Visitor
      • visitFREM

        public void visitFREM​(org.apache.bcel.generic.FREM obj)
        Specified by:
        visitFREM in interface org.apache.bcel.generic.Visitor
      • visitLDC

        public void visitLDC​(org.apache.bcel.generic.LDC obj)
        Specified by:
        visitLDC in interface org.apache.bcel.generic.Visitor
      • visitBIPUSH

        public void visitBIPUSH​(org.apache.bcel.generic.BIPUSH obj)
        Specified by:
        visitBIPUSH in interface org.apache.bcel.generic.Visitor
      • visitF2L

        public void visitF2L​(org.apache.bcel.generic.F2L obj)
        Specified by:
        visitF2L in interface org.apache.bcel.generic.Visitor
      • visitFMUL

        public void visitFMUL​(org.apache.bcel.generic.FMUL obj)
        Specified by:
        visitFMUL in interface org.apache.bcel.generic.Visitor
      • visitJSR

        public void visitJSR​(org.apache.bcel.generic.JSR obj)
        Specified by:
        visitJSR in interface org.apache.bcel.generic.Visitor
      • visitFSUB

        public void visitFSUB​(org.apache.bcel.generic.FSUB obj)
        Specified by:
        visitFSUB in interface org.apache.bcel.generic.Visitor
      • visitSASTORE

        public void visitSASTORE​(org.apache.bcel.generic.SASTORE obj)
        Specified by:
        visitSASTORE in interface org.apache.bcel.generic.Visitor
      • visitRETURN

        public void visitRETURN​(org.apache.bcel.generic.RETURN obj)
        Specified by:
        visitRETURN in interface org.apache.bcel.generic.Visitor
      • visitDALOAD

        public void visitDALOAD​(org.apache.bcel.generic.DALOAD obj)
        Specified by:
        visitDALOAD in interface org.apache.bcel.generic.Visitor
      • visitSIPUSH

        public void visitSIPUSH​(org.apache.bcel.generic.SIPUSH obj)
        Specified by:
        visitSIPUSH in interface org.apache.bcel.generic.Visitor
      • visitDSUB

        public void visitDSUB​(org.apache.bcel.generic.DSUB obj)
        Specified by:
        visitDSUB in interface org.apache.bcel.generic.Visitor
      • visitL2F

        public void visitL2F​(org.apache.bcel.generic.L2F obj)
        Specified by:
        visitL2F in interface org.apache.bcel.generic.Visitor
      • visitIF_ICMPGT

        public void visitIF_ICMPGT​(org.apache.bcel.generic.IF_ICMPGT obj)
        Specified by:
        visitIF_ICMPGT in interface org.apache.bcel.generic.Visitor
      • visitF2D

        public void visitF2D​(org.apache.bcel.generic.F2D obj)
        Specified by:
        visitF2D in interface org.apache.bcel.generic.Visitor
      • visitI2L

        public void visitI2L​(org.apache.bcel.generic.I2L obj)
        Specified by:
        visitI2L in interface org.apache.bcel.generic.Visitor
      • visitIF_ACMPNE

        public void visitIF_ACMPNE​(org.apache.bcel.generic.IF_ACMPNE obj)
        Specified by:
        visitIF_ACMPNE in interface org.apache.bcel.generic.Visitor
      • visitNULL2Z

        public void visitNULL2Z​(NULL2Z obj)
      • visitNONNULL2Z

        public void visitNONNULL2Z​(NONNULL2Z obj)
      • visitI2S

        public void visitI2S​(org.apache.bcel.generic.I2S obj)
        Specified by:
        visitI2S in interface org.apache.bcel.generic.Visitor
      • visitIFEQ

        public void visitIFEQ​(org.apache.bcel.generic.IFEQ obj)
        Specified by:
        visitIFEQ in interface org.apache.bcel.generic.Visitor
      • visitIOR

        public void visitIOR​(org.apache.bcel.generic.IOR obj)
        Specified by:
        visitIOR in interface org.apache.bcel.generic.Visitor
      • visitIREM

        public void visitIREM​(org.apache.bcel.generic.IREM obj)
        Specified by:
        visitIREM in interface org.apache.bcel.generic.Visitor
      • visitIASTORE

        public void visitIASTORE​(org.apache.bcel.generic.IASTORE obj)
        Specified by:
        visitIASTORE in interface org.apache.bcel.generic.Visitor
      • visitNEWARRAY

        public void visitNEWARRAY​(org.apache.bcel.generic.NEWARRAY obj)
        Specified by:
        visitNEWARRAY in interface org.apache.bcel.generic.Visitor
      • visitINVOKEINTERFACE

        public void visitINVOKEINTERFACE​(org.apache.bcel.generic.INVOKEINTERFACE obj)
        Specified by:
        visitINVOKEINTERFACE in interface org.apache.bcel.generic.Visitor
      • visitINEG

        public void visitINEG​(org.apache.bcel.generic.INEG obj)
        Specified by:
        visitINEG in interface org.apache.bcel.generic.Visitor
      • visitLCMP

        public void visitLCMP​(org.apache.bcel.generic.LCMP obj)
        Specified by:
        visitLCMP in interface org.apache.bcel.generic.Visitor
      • visitJSR_W

        public void visitJSR_W​(org.apache.bcel.generic.JSR_W obj)
        Specified by:
        visitJSR_W in interface org.apache.bcel.generic.Visitor
      • visitMULTIANEWARRAY

        public void visitMULTIANEWARRAY​(org.apache.bcel.generic.MULTIANEWARRAY obj)
        Specified by:
        visitMULTIANEWARRAY in interface org.apache.bcel.generic.Visitor
      • visitSALOAD

        public void visitSALOAD​(org.apache.bcel.generic.SALOAD obj)
        Specified by:
        visitSALOAD in interface org.apache.bcel.generic.Visitor
      • visitIFNONNULL

        public void visitIFNONNULL​(org.apache.bcel.generic.IFNONNULL obj)
        Specified by:
        visitIFNONNULL in interface org.apache.bcel.generic.Visitor
      • visitDMUL

        public void visitDMUL​(org.apache.bcel.generic.DMUL obj)
        Specified by:
        visitDMUL in interface org.apache.bcel.generic.Visitor
      • visitIFNE

        public void visitIFNE​(org.apache.bcel.generic.IFNE obj)
        Specified by:
        visitIFNE in interface org.apache.bcel.generic.Visitor
      • visitIF_ICMPLE

        public void visitIF_ICMPLE​(org.apache.bcel.generic.IF_ICMPLE obj)
        Specified by:
        visitIF_ICMPLE in interface org.apache.bcel.generic.Visitor
      • visitLDC2_W

        public void visitLDC2_W​(org.apache.bcel.generic.LDC2_W obj)
        Specified by:
        visitLDC2_W in interface org.apache.bcel.generic.Visitor
      • visitGETFIELD

        public void visitGETFIELD​(org.apache.bcel.generic.GETFIELD obj)
        Specified by:
        visitGETFIELD in interface org.apache.bcel.generic.Visitor
      • visitLADD

        public void visitLADD​(org.apache.bcel.generic.LADD obj)
        Specified by:
        visitLADD in interface org.apache.bcel.generic.Visitor
      • visitNOP

        public void visitNOP​(org.apache.bcel.generic.NOP obj)
        Specified by:
        visitNOP in interface org.apache.bcel.generic.Visitor
      • visitFALOAD

        public void visitFALOAD​(org.apache.bcel.generic.FALOAD obj)
        Specified by:
        visitFALOAD in interface org.apache.bcel.generic.Visitor
      • visitINSTANCEOF

        public void visitINSTANCEOF​(org.apache.bcel.generic.INSTANCEOF obj)
        Specified by:
        visitINSTANCEOF in interface org.apache.bcel.generic.Visitor
      • visitIFLE

        public void visitIFLE​(org.apache.bcel.generic.IFLE obj)
        Specified by:
        visitIFLE in interface org.apache.bcel.generic.Visitor
      • visitLXOR

        public void visitLXOR​(org.apache.bcel.generic.LXOR obj)
        Specified by:
        visitLXOR in interface org.apache.bcel.generic.Visitor
      • visitLRETURN

        public void visitLRETURN​(org.apache.bcel.generic.LRETURN obj)
        Specified by:
        visitLRETURN in interface org.apache.bcel.generic.Visitor
      • visitFCONST

        public void visitFCONST​(org.apache.bcel.generic.FCONST obj)
        Specified by:
        visitFCONST in interface org.apache.bcel.generic.Visitor
      • visitIUSHR

        public void visitIUSHR​(org.apache.bcel.generic.IUSHR obj)
        Specified by:
        visitIUSHR in interface org.apache.bcel.generic.Visitor
      • visitBALOAD

        public void visitBALOAD​(org.apache.bcel.generic.BALOAD obj)
        Specified by:
        visitBALOAD in interface org.apache.bcel.generic.Visitor
      • visitIF_ACMPEQ

        public void visitIF_ACMPEQ​(org.apache.bcel.generic.IF_ACMPEQ obj)
        Specified by:
        visitIF_ACMPEQ in interface org.apache.bcel.generic.Visitor
      • visitMONITORENTER

        public void visitMONITORENTER​(org.apache.bcel.generic.MONITORENTER obj)
        Specified by:
        visitMONITORENTER in interface org.apache.bcel.generic.Visitor
      • visitLSHL

        public void visitLSHL​(org.apache.bcel.generic.LSHL obj)
        Specified by:
        visitLSHL in interface org.apache.bcel.generic.Visitor
      • visitDCMPG

        public void visitDCMPG​(org.apache.bcel.generic.DCMPG obj)
        Specified by:
        visitDCMPG in interface org.apache.bcel.generic.Visitor
      • visitD2L

        public void visitD2L​(org.apache.bcel.generic.D2L obj)
        Specified by:
        visitD2L in interface org.apache.bcel.generic.Visitor
      • visitL2D

        public void visitL2D​(org.apache.bcel.generic.L2D obj)
        Specified by:
        visitL2D in interface org.apache.bcel.generic.Visitor
      • visitRET

        public void visitRET​(org.apache.bcel.generic.RET obj)
        Specified by:
        visitRET in interface org.apache.bcel.generic.Visitor
      • visitIFGT

        public void visitIFGT​(org.apache.bcel.generic.IFGT obj)
        Specified by:
        visitIFGT in interface org.apache.bcel.generic.Visitor
      • visitIXOR

        public void visitIXOR​(org.apache.bcel.generic.IXOR obj)
        Specified by:
        visitIXOR in interface org.apache.bcel.generic.Visitor
      • visitINVOKEDYNAMIC

        public void visitINVOKEDYNAMIC​(org.apache.bcel.generic.INVOKEDYNAMIC obj)
        Specified by:
        visitINVOKEDYNAMIC in interface org.apache.bcel.generic.Visitor
      • visitINVOKEVIRTUAL

        public void visitINVOKEVIRTUAL​(org.apache.bcel.generic.INVOKEVIRTUAL obj)
        Specified by:
        visitINVOKEVIRTUAL in interface org.apache.bcel.generic.Visitor
      • visitFASTORE

        public void visitFASTORE​(org.apache.bcel.generic.FASTORE obj)
        Specified by:
        visitFASTORE in interface org.apache.bcel.generic.Visitor
      • visitIRETURN

        public void visitIRETURN​(org.apache.bcel.generic.IRETURN obj)
        Specified by:
        visitIRETURN in interface org.apache.bcel.generic.Visitor
      • visitIF_ICMPNE

        public void visitIF_ICMPNE​(org.apache.bcel.generic.IF_ICMPNE obj)
        Specified by:
        visitIF_ICMPNE in interface org.apache.bcel.generic.Visitor
      • visitLDIV

        public void visitLDIV​(org.apache.bcel.generic.LDIV obj)
        Specified by:
        visitLDIV in interface org.apache.bcel.generic.Visitor
      • visitPUTSTATIC

        public void visitPUTSTATIC​(org.apache.bcel.generic.PUTSTATIC obj)
        Specified by:
        visitPUTSTATIC in interface org.apache.bcel.generic.Visitor
      • visitAALOAD

        public void visitAALOAD​(org.apache.bcel.generic.AALOAD obj)
        Specified by:
        visitAALOAD in interface org.apache.bcel.generic.Visitor
      • visitD2I

        public void visitD2I​(org.apache.bcel.generic.D2I obj)
        Specified by:
        visitD2I in interface org.apache.bcel.generic.Visitor
      • visitIF_ICMPEQ

        public void visitIF_ICMPEQ​(org.apache.bcel.generic.IF_ICMPEQ obj)
        Specified by:
        visitIF_ICMPEQ in interface org.apache.bcel.generic.Visitor
      • visitAASTORE

        public void visitAASTORE​(org.apache.bcel.generic.AASTORE obj)
        Specified by:
        visitAASTORE in interface org.apache.bcel.generic.Visitor
      • visitARETURN

        public void visitARETURN​(org.apache.bcel.generic.ARETURN obj)
        Specified by:
        visitARETURN in interface org.apache.bcel.generic.Visitor
      • visitFNEG

        public void visitFNEG​(org.apache.bcel.generic.FNEG obj)
        Specified by:
        visitFNEG in interface org.apache.bcel.generic.Visitor
      • visitGOTO_W

        public void visitGOTO_W​(org.apache.bcel.generic.GOTO_W obj)
        Specified by:
        visitGOTO_W in interface org.apache.bcel.generic.Visitor
      • visitD2F

        public void visitD2F​(org.apache.bcel.generic.D2F obj)
        Specified by:
        visitD2F in interface org.apache.bcel.generic.Visitor
      • visitGOTO

        public void visitGOTO​(org.apache.bcel.generic.GOTO obj)
        Specified by:
        visitGOTO in interface org.apache.bcel.generic.Visitor
      • visitISUB

        public void visitISUB​(org.apache.bcel.generic.ISUB obj)
        Specified by:
        visitISUB in interface org.apache.bcel.generic.Visitor
      • visitF2I

        public void visitF2I​(org.apache.bcel.generic.F2I obj)
        Specified by:
        visitF2I in interface org.apache.bcel.generic.Visitor
      • visitDNEG

        public void visitDNEG​(org.apache.bcel.generic.DNEG obj)
        Specified by:
        visitDNEG in interface org.apache.bcel.generic.Visitor
      • visitICONST

        public void visitICONST​(org.apache.bcel.generic.ICONST obj)
        Specified by:
        visitICONST in interface org.apache.bcel.generic.Visitor
      • visitFDIV

        public void visitFDIV​(org.apache.bcel.generic.FDIV obj)
        Specified by:
        visitFDIV in interface org.apache.bcel.generic.Visitor
      • visitI2B

        public void visitI2B​(org.apache.bcel.generic.I2B obj)
        Specified by:
        visitI2B in interface org.apache.bcel.generic.Visitor
      • visitLNEG

        public void visitLNEG​(org.apache.bcel.generic.LNEG obj)
        Specified by:
        visitLNEG in interface org.apache.bcel.generic.Visitor
      • visitLREM

        public void visitLREM​(org.apache.bcel.generic.LREM obj)
        Specified by:
        visitLREM in interface org.apache.bcel.generic.Visitor
      • visitIMUL

        public void visitIMUL​(org.apache.bcel.generic.IMUL obj)
        Specified by:
        visitIMUL in interface org.apache.bcel.generic.Visitor
      • visitIADD

        public void visitIADD​(org.apache.bcel.generic.IADD obj)
        Specified by:
        visitIADD in interface org.apache.bcel.generic.Visitor
      • visitLSHR

        public void visitLSHR​(org.apache.bcel.generic.LSHR obj)
        Specified by:
        visitLSHR in interface org.apache.bcel.generic.Visitor
      • visitLOOKUPSWITCH

        public void visitLOOKUPSWITCH​(org.apache.bcel.generic.LOOKUPSWITCH obj)
        Specified by:
        visitLOOKUPSWITCH in interface org.apache.bcel.generic.Visitor
      • visitFCMPL

        public void visitFCMPL​(org.apache.bcel.generic.FCMPL obj)
        Specified by:
        visitFCMPL in interface org.apache.bcel.generic.Visitor
      • visitI2C

        public void visitI2C​(org.apache.bcel.generic.I2C obj)
        Specified by:
        visitI2C in interface org.apache.bcel.generic.Visitor
      • visitLMUL

        public void visitLMUL​(org.apache.bcel.generic.LMUL obj)
        Specified by:
        visitLMUL in interface org.apache.bcel.generic.Visitor
      • visitLUSHR

        public void visitLUSHR​(org.apache.bcel.generic.LUSHR obj)
        Specified by:
        visitLUSHR in interface org.apache.bcel.generic.Visitor
      • visitISHL

        public void visitISHL​(org.apache.bcel.generic.ISHL obj)
        Specified by:
        visitISHL in interface org.apache.bcel.generic.Visitor
      • visitLALOAD

        public void visitLALOAD​(org.apache.bcel.generic.LALOAD obj)
        Specified by:
        visitLALOAD in interface org.apache.bcel.generic.Visitor
      • visitANEWARRAY

        public void visitANEWARRAY​(org.apache.bcel.generic.ANEWARRAY obj)
        Specified by:
        visitANEWARRAY in interface org.apache.bcel.generic.Visitor
      • visitFRETURN

        public void visitFRETURN​(org.apache.bcel.generic.FRETURN obj)
        Specified by:
        visitFRETURN in interface org.apache.bcel.generic.Visitor
      • visitFADD

        public void visitFADD​(org.apache.bcel.generic.FADD obj)
        Specified by:
        visitFADD in interface org.apache.bcel.generic.Visitor