edu.umd.cs.findbugs.ba.npe
Class IsNullValueFrameModelingVisitor
java.lang.Object
edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
edu.umd.cs.findbugs.ba.npe.IsNullValueFrameModelingVisitor
- All Implemented Interfaces:
- org.apache.bcel.generic.Visitor
public class IsNullValueFrameModelingVisitor
- extends AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
Methods inherited from class edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor |
getCPG, getFrame, getLocation, getNumWordsConsumed, getNumWordsProduced, handleLoadInstruction, handleNormalInstruction, handleStoreInstruction, modelInstruction, modelNormalInstruction, setFrameAndLocation, visitAALOAD, visitAASTORE, visitAllocationInstruction, visitALOAD, visitARETURN, visitArithmeticInstruction, visitArrayInstruction, visitARRAYLENGTH, visitASTORE, visitATHROW, visitBALOAD, visitBASTORE, visitBIPUSH, visitBranchInstruction, visitBREAKPOINT, visitCALOAD, visitCASTORE, visitConstantPushInstruction, visitConversionInstruction, visitCPInstruction, visitD2F, visitD2I, visitD2L, visitDADD, visitDALOAD, visitDASTORE, visitDCMPG, visitDCMPL, visitDCONST, visitDDIV, visitDLOAD, visitDMUL, visitDNEG, visitDREM, visitDRETURN, visitDSTORE, visitDSUB, visitDUP_X1, visitDUP_X2, visitDUP, visitDUP2_X1, visitDUP2_X2, visitDUP2, visitExceptionThrower, visitF2D, visitF2I, visitF2L, visitFADD, visitFALOAD, visitFASTORE, visitFCMPG, visitFCMPL, visitFCONST, visitFDIV, visitFieldInstruction, visitFieldOrMethod, visitFLOAD, visitFMUL, visitFNEG, visitFREM, visitFRETURN, visitFSTORE, visitFSUB, visitGOTO_W, visitGOTO, visitGotoInstruction, visitI2B, visitI2C, visitI2D, visitI2F, visitI2L, visitI2S, visitIADD, visitIALOAD, visitIAND, visitIASTORE, visitICONST, visitIDIV, visitIF_ACMPEQ, visitIF_ACMPNE, visitIF_ICMPEQ, visitIF_ICMPGE, visitIF_ICMPGT, visitIF_ICMPLE, visitIF_ICMPLT, visitIF_ICMPNE, visitIFEQ, visitIFGE, visitIFGT, visitIfInstruction, visitIFLE, visitIFLT, visitIFNE, visitIFNONNULL, visitIFNULL, visitIINC, visitILOAD, visitIMPDEP1, visitIMPDEP2, visitIMUL, visitINEG, visitINSTANCEOF, visitInvokeInstruction, visitIOR, visitIREM, visitIRETURN, visitISHL, visitISHR, visitISTORE, visitISUB, visitIUSHR, visitIXOR, visitJSR_W, visitJSR, visitJsrInstruction, visitL2D, visitL2F, visitL2I, visitLADD, visitLALOAD, visitLAND, visitLASTORE, visitLCMP, visitLCONST, visitLDIV, visitLLOAD, visitLMUL, visitLNEG, visitLoadClass, visitLoadInstruction, visitLocalVariableInstruction, visitLOOKUPSWITCH, visitLOR, visitLREM, visitLRETURN, visitLSHL, visitLSHR, visitLSTORE, visitLSUB, visitLUSHR, visitLXOR, visitMONITORENTER, visitMONITOREXIT, visitNOP, visitPOP, visitPOP2, visitPopInstruction, visitPushInstruction, visitPUTSTATIC, visitRET, visitRETURN, visitReturnInstruction, visitSALOAD, visitSASTORE, visitSelect, visitSIPUSH, visitStackConsumer, visitStackInstruction, visitStackProducer, visitStoreInstruction, visitSWAP, visitTABLESWITCH, visitTypedInstruction, visitUnconditionalBranch, visitVariableLengthInstruction |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
IsNullValueFrameModelingVisitor
public IsNullValueFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg,
AssertionMethods assertionMethods,
ValueNumberDataflow vnaDataflow,
TypeDataflow typeDataflow,
boolean trackValueNumbers)
analyzeInstruction
public void analyzeInstruction(org.apache.bcel.generic.Instruction ins)
throws DataflowAnalysisException
- Description copied from class:
AbstractFrameModelingVisitor
- Analyze the given Instruction.
- Overrides:
analyzeInstruction
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
- 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
getSlotContainingNewNullValue
public int getSlotContainingNewNullValue()
- Returns:
- Returns the slotContainingNewNullValue; or -1 if no new null value
was produced
getDefaultValue
public IsNullValue getDefaultValue()
- Description copied from class:
AbstractFrameModelingVisitor
- Produce a "default" value.
This is what is pushed onto the stack by the
handleNormalInstruction() method for instructions which produce stack values.
- Specified by:
getDefaultValue
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitPUTFIELD
public void visitPUTFIELD(org.apache.bcel.generic.PUTFIELD obj)
- Specified by:
visitPUTFIELD
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitPUTFIELD
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitGETFIELD
public void visitGETFIELD(org.apache.bcel.generic.GETFIELD obj)
- Specified by:
visitGETFIELD
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitGETFIELD
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitGETSTATIC
public void visitGETSTATIC(org.apache.bcel.generic.GETSTATIC obj)
- Specified by:
visitGETSTATIC
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitGETSTATIC
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitACONST_NULL
public void visitACONST_NULL(org.apache.bcel.generic.ACONST_NULL obj)
- Specified by:
visitACONST_NULL
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitACONST_NULL
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitNEW
public void visitNEW(org.apache.bcel.generic.NEW obj)
- Specified by:
visitNEW
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitNEW
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitNEWARRAY
public void visitNEWARRAY(org.apache.bcel.generic.NEWARRAY obj)
- Specified by:
visitNEWARRAY
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitNEWARRAY
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitANEWARRAY
public void visitANEWARRAY(org.apache.bcel.generic.ANEWARRAY obj)
- Specified by:
visitANEWARRAY
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitANEWARRAY
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitMULTIANEWARRAY
public void visitMULTIANEWARRAY(org.apache.bcel.generic.MULTIANEWARRAY obj)
- Specified by:
visitMULTIANEWARRAY
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitMULTIANEWARRAY
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitLDC
public void visitLDC(org.apache.bcel.generic.LDC obj)
- Specified by:
visitLDC
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitLDC
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitLDC2_W
public void visitLDC2_W(org.apache.bcel.generic.LDC2_W obj)
- Specified by:
visitLDC2_W
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitLDC2_W
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitCHECKCAST
public void visitCHECKCAST(org.apache.bcel.generic.CHECKCAST obj)
- Specified by:
visitCHECKCAST
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitCHECKCAST
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitINVOKESTATIC
public void visitINVOKESTATIC(org.apache.bcel.generic.INVOKESTATIC obj)
- Specified by:
visitINVOKESTATIC
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitINVOKESTATIC
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitINVOKESPECIAL
public void visitINVOKESPECIAL(org.apache.bcel.generic.INVOKESPECIAL obj)
- Specified by:
visitINVOKESPECIAL
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitINVOKESPECIAL
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitINVOKEINTERFACE
public void visitINVOKEINTERFACE(org.apache.bcel.generic.INVOKEINTERFACE obj)
- Specified by:
visitINVOKEINTERFACE
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitINVOKEINTERFACE
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
visitINVOKEVIRTUAL
public void visitINVOKEVIRTUAL(org.apache.bcel.generic.INVOKEVIRTUAL obj)
- Specified by:
visitINVOKEVIRTUAL
in interface org.apache.bcel.generic.Visitor
- Overrides:
visitINVOKEVIRTUAL
in class AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.