|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<Fact>
edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<Fact>
edu.umd.cs.findbugs.ba.ForwardDataflowAnalysis<DefinitelyNullSet>
edu.umd.cs.findbugs.ba.npe2.DefinitelyNullSetAnalysis
public class DefinitelyNullSetAnalysis
A simple null-pointer analysis that keeps track of which value numbers are definitely known to be null.
Constructor Summary | |
---|---|
DefinitelyNullSetAnalysis(DepthFirstSearch dfs,
ValueNumberDataflow vnaDataflow,
CompactLocationNumbering compactLocationNumbering)
Constructor. |
Method Summary | |
---|---|
void |
copy(DefinitelyNullSet source,
DefinitelyNullSet dest)
Copy dataflow facts. |
DefinitelyNullSet |
createFact()
Create empty (uninitialized) dataflow facts for one program point. |
void |
edgeTransfer(Edge edge,
DefinitelyNullSet fact)
Edge transfer function. |
void |
initEntryFact(DefinitelyNullSet result)
Initialize the "entry" fact for the graph. |
boolean |
isFactValid(DefinitelyNullSet fact)
Determine whether the given fact is valid (neither top nor bottom). |
boolean |
isTop(DefinitelyNullSet fact)
Is the given fact the top value. |
void |
makeFactTop(DefinitelyNullSet fact)
Make given fact the top value. |
void |
meetInto(DefinitelyNullSet fact,
Edge edge,
DefinitelyNullSet result)
Meet a dataflow fact associated with an incoming edge into another fact. |
boolean |
same(DefinitelyNullSet fact1,
DefinitelyNullSet fact2)
Are given dataflow facts the same? |
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
DefinitelyNullSet fact)
Transfer function for a single instruction. |
Methods inherited from class edu.umd.cs.findbugs.ba.ForwardDataflowAnalysis |
---|
getBlockOrder, getDepthFirstSearch, isForwards |
Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis |
---|
getFactAfterLocation, getFactAtLocation, transfer |
Methods inherited from class edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis |
---|
factToString, finishIteration, getFactOnEdge, getLastUpdateTimestamp, getResultFact, getStartFact, resultFactIterator, setLastUpdateTimestamp, startIteration |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefinitelyNullSetAnalysis(DepthFirstSearch dfs, ValueNumberDataflow vnaDataflow, CompactLocationNumbering compactLocationNumbering)
dfs
- DepthFirstSearch for the methodvnaDataflow
- value number dataflow for the methodcompactLocationNumbering
- CompactLocationNumbering for the methodMethod Detail |
---|
public boolean isFactValid(DefinitelyNullSet fact)
AbstractDataflowAnalysis
isFactValid
in class AbstractDataflowAnalysis<DefinitelyNullSet>
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock, DefinitelyNullSet fact) throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction
in class AbstractDataflowAnalysis<DefinitelyNullSet>
handle
- the instructionbasicBlock
- the BasicBlock containing the instruction; needed to disambiguate
instructions in inlined JSR subroutinesfact
- which should be modified based on the instruction
DataflowAnalysisException
public void edgeTransfer(Edge edge, DefinitelyNullSet fact) throws DataflowAnalysisException
DataflowAnalysis
A do-nothing implementation is legal, and appropriate for analyses where branches are not significant.
edgeTransfer
in interface DataflowAnalysis<DefinitelyNullSet>
edgeTransfer
in class BasicAbstractDataflowAnalysis<DefinitelyNullSet>
edge
- the Edgefact
- a dataflow fact
DataflowAnalysisException
public void copy(DefinitelyNullSet source, DefinitelyNullSet dest)
DataflowAnalysis
public DefinitelyNullSet createFact()
DataflowAnalysis
public void initEntryFact(DefinitelyNullSet result) throws DataflowAnalysisException
DataflowAnalysis
DataflowAnalysisException
public void makeFactTop(DefinitelyNullSet fact)
DataflowAnalysis
public boolean isTop(DefinitelyNullSet fact)
DataflowAnalysis
public void meetInto(DefinitelyNullSet fact, Edge edge, DefinitelyNullSet result) throws DataflowAnalysisException
DataflowAnalysis
fact
- the predecessor fact (incoming edge)edge
- the edge from the predecessorresult
- the result fact
DataflowAnalysisException
public boolean same(DefinitelyNullSet fact1, DefinitelyNullSet fact2)
DataflowAnalysis
|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |