|
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>
public abstract class BasicAbstractDataflowAnalysis<Fact>
A useful starting point for defining a dataflow analysis. Handles access and caching of start and result facts for basic blocks.
Subclasses that model instructions within basic blocks should extend AbstractDataflowAnalysis.
Constructor Summary | |
---|---|
BasicAbstractDataflowAnalysis()
Constructor. |
Method Summary | |
---|---|
void |
edgeTransfer(Edge edge,
Fact fact)
Edge transfer function. |
java.lang.String |
factToString(Fact fact)
Return a String representation of given Fact. |
void |
finishIteration()
Called after finishing an iteration of analysis. |
Fact |
getFactAfterLocation(Location location)
Get the dataflow fact representing the point just after given Location. |
Fact |
getFactAtLocation(Location location)
Get dataflow fact at (just before) given Location. |
Fact |
getFactOnEdge(Edge edge)
Get the fact that is true on the given control edge, after applying the edge transfer function (if any). |
int |
getLastUpdateTimestamp(Fact fact)
|
Fact |
getResultFact(BasicBlock block)
Get the result fact for given basic block. |
Fact |
getStartFact(BasicBlock block)
Get the start fact for given basic block. |
java.util.Iterator<Fact> |
resultFactIterator()
Get an iterator over the result facts. |
void |
setLastUpdateTimestamp(Fact fact,
int lastUpdateTimestamp)
|
void |
startIteration()
Called before beginning an iteration of analysis. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface edu.umd.cs.findbugs.ba.DataflowAnalysis |
---|
copy, createFact, getBlockOrder, initEntryFact, isForwards, isTop, makeFactTop, meetInto, same, transfer |
Constructor Detail |
---|
public BasicAbstractDataflowAnalysis()
Method Detail |
---|
public java.util.Iterator<Fact> resultFactIterator()
public java.lang.String factToString(Fact fact)
DataflowAnalysis
factToString
in interface DataflowAnalysis<Fact>
fact
- a dataflow fact
public Fact getStartFact(BasicBlock block)
DataflowAnalysis
getStartFact
in interface DataflowAnalysis<Fact>
block
- the basic blockpublic Fact getResultFact(BasicBlock block)
DataflowAnalysis
getResultFact
in interface DataflowAnalysis<Fact>
block
- the basic blockpublic Fact getFactAtLocation(Location location) throws DataflowAnalysisException
The default implementation ignores instructions within basic blocks. Subclasses that model individual instructions must override this method.
getFactAtLocation
in interface DataflowAnalysis<Fact>
location
- the Location
DataflowAnalysisException
public Fact getFactAfterLocation(Location location) throws DataflowAnalysisException
The default implementation ignores instructions within basic blocks. Subclasses that model individual instructions must override this method.
getFactAfterLocation
in interface DataflowAnalysis<Fact>
location
- the Location
DataflowAnalysisException
public Fact getFactOnEdge(Edge edge) throws DataflowAnalysisException
getFactOnEdge
in interface DataflowAnalysis<Fact>
edge
- the edge
DataflowAnalysisException
public void startIteration()
DataflowAnalysis
startIteration
in interface DataflowAnalysis<Fact>
public void finishIteration()
DataflowAnalysis
finishIteration
in interface DataflowAnalysis<Fact>
public void edgeTransfer(Edge edge, Fact fact) throws DataflowAnalysisException
DataflowAnalysis
A do-nothing implementation is legal, and appropriate for analyses where branches are not significant.
edgeTransfer
in interface DataflowAnalysis<Fact>
edge
- the Edgefact
- a dataflow fact
DataflowAnalysisException
public int getLastUpdateTimestamp(Fact fact)
getLastUpdateTimestamp
in interface DataflowAnalysis<Fact>
public void setLastUpdateTimestamp(Fact fact, int lastUpdateTimestamp)
setLastUpdateTimestamp
in interface DataflowAnalysis<Fact>
|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |