FindBugs™ 1.3.9

edu.umd.cs.findbugs.ba.npe
Class IsNullValueFrameModelingVisitor

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>
      extended by edu.umd.cs.findbugs.ba.npe.IsNullValueFrameModelingVisitor
All Implemented Interfaces:
org.apache.bcel.generic.Visitor

public class IsNullValueFrameModelingVisitor
extends AbstractFrameModelingVisitor<IsNullValue,IsNullValueFrame>


Field Summary
 
Fields inherited from class edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor
cpg
 
Constructor Summary
IsNullValueFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg, AssertionMethods assertionMethods, ValueNumberDataflow vnaDataflow, TypeDataflow typeDataflow, boolean trackValueNumbers)
           
 
Method Summary
 void analyzeInstruction(org.apache.bcel.generic.Instruction ins)
          Analyze the given Instruction.
 IsNullValue getDefaultValue()
          Produce a "default" value.
 int getSlotContainingNewNullValue()
           
 void visitACONST_NULL(org.apache.bcel.generic.ACONST_NULL obj)
           
 void visitANEWARRAY(org.apache.bcel.generic.ANEWARRAY obj)
           
 void visitCHECKCAST(org.apache.bcel.generic.CHECKCAST obj)
           
 void visitGETFIELD(org.apache.bcel.generic.GETFIELD obj)
           
 void visitGETSTATIC(org.apache.bcel.generic.GETSTATIC 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 visitLDC(org.apache.bcel.generic.LDC obj)
           
 void visitLDC2_W(org.apache.bcel.generic.LDC2_W 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 visitPUTFIELD(org.apache.bcel.generic.PUTFIELD obj)
           
 
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
 

Constructor Detail

IsNullValueFrameModelingVisitor

public IsNullValueFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg,
                                       AssertionMethods assertionMethods,
                                       ValueNumberDataflow vnaDataflow,
                                       TypeDataflow typeDataflow,
                                       boolean trackValueNumbers)
Method Detail

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™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.