edu.umd.cs.findbugs.ba
public abstract class BasicAbstractDataflowAnalysis<Fact> extends Object implements DataflowAnalysis<Fact>
Subclasses that model instructions within basic blocks should extend AbstractDataflowAnalysis.
| Constructor Summary | |
|---|---|
| BasicAbstractDataflowAnalysis()
Constructor. | |
| Method Summary | |
|---|---|
| void | edgeTransfer(Edge edge, Fact fact) |
| String | factToString(Fact fact)
Call this to get a dataflow value as a String.
|
| void | finishIteration() |
| 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 at the target of the given control edge.
|
| int | getLastUpdateTimestamp(Fact fact) |
| Fact | getResultFact(BasicBlock block) |
| Fact | getStartFact(BasicBlock block) |
| Iterator<Fact> | resultFactIterator()
Get an iterator over the result facts. |
| void | setLastUpdateTimestamp(Fact fact, int lastUpdateTimestamp) |
| void | startIteration() |
The default implementation ignores instructions within basic blocks. Subclasses that model individual instructions must override this method.
Parameters: location the Location
Returns: the dataflow value after given Location
Throws: DataflowAnalysisException
The default implementation ignores instructions within basic blocks. Subclasses that model individual instructions must override this method.
Parameters: location the Location
Returns: the dataflow value at given Location
Throws: DataflowAnalysisException
Parameters: edge the edge
Returns: the fact that is true at the target of the edge
Throws: DataflowAnalysisException