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

java.lang.Object
edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor<Value,FrameType>
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 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:
  • Field Details

    • cpg

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

    • AbstractFrameModelingVisitor

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

    • 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