AbstractDataflow
, BlockTypeDataflow
, CallListDataflow
, ConstantDataflow
, LiveLocalStoreDataflow
, LockDataflow
, ObligationDataflow
, ReturnPathDataflow
, ReturnPathTypeDataflow
, TypeDataflow
, TypeQualifierDataflow
public class Dataflow<Fact,AnalysisType extends DataflowAnalysis<Fact>>
extends java.lang.Object
CFG
,
DataflowAnalysis
Modifier and Type | Field | Description |
---|---|---|
static boolean |
DEBUG |
Constructor | Description |
---|---|
Dataflow(CFG cfg,
AnalysisType analysis) |
Constructor.
|
Modifier and Type | Method | Description |
---|---|---|
void |
dumpDataflow(AnalysisType analysis) |
|
void |
execute() |
Run the algorithm.
|
AnalysisType |
getAnalysis() |
Get the analysis object.
|
CFG |
getCFG() |
Get the CFG object.
|
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.
|
int |
getNumIterations() |
Return the number of iterations of the main execution loop.
|
Fact |
getResultFact(BasicBlock block) |
Get dataflow facts for end of given block.
|
Fact |
getStartFact(BasicBlock block) |
Get dataflow facts for start of given block.
|
public Dataflow(CFG cfg, AnalysisType analysis)
cfg
- the control flow graphanalysis
- the DataflowAnalysis to be runpublic void execute() throws DataflowAnalysisException
DataflowAnalysisException
public int getNumIterations()
public Fact getStartFact(BasicBlock block)
public Fact getResultFact(BasicBlock block)
public Fact getFactAtLocation(Location location) throws DataflowAnalysisException
location
- the LocationDataflowAnalysisException
public Fact getFactAfterLocation(Location location) throws DataflowAnalysisException
location
- the LocationDataflowAnalysisException
public Fact getFactOnEdge(Edge edge) throws DataflowAnalysisException
edge
- the edgeDataflowAnalysisException
public AnalysisType getAnalysis()
public CFG getCFG()
public void dumpDataflow(AnalysisType analysis)
SpotBugs is licensed under the LGPL.