Package edu.umd.cs.findbugs.ba
Class BackwardDataflowAnalysis<Fact>
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<Fact>
-
- edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<Fact>
-
- edu.umd.cs.findbugs.ba.BackwardDataflowAnalysis<Fact>
-
- All Implemented Interfaces:
DataflowAnalysis<Fact>
- Direct Known Subclasses:
LiveLocalStoreAnalysis
,UnconditionalValueDerefAnalysis
public abstract class BackwardDataflowAnalysis<Fact> extends AbstractDataflowAnalysis<Fact>
Abstract base class for backward dataflow analyses. Provides convenient implementations for isForwards() and getBlockOrder() methods.- Author:
- David Hovemeyer
- See Also:
Dataflow
,DataflowAnalysis
-
-
Constructor Summary
Constructors Constructor Description BackwardDataflowAnalysis(ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BlockOrder
getBlockOrder(CFG cfg)
Return the BlockOrder specifying the order in which BasicBlocks should be visited in the main dataflow loop.protected ReverseDepthFirstSearch
getReverseDepthFirstSearch()
boolean
isForwards()
Returns true if the analysis is forwards, false if backwards.-
Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis
getFactAfterLocation, getFactAtLocation, isFactValid, transfer, transferInstruction
-
Methods inherited from class edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis
edgeTransfer, 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
-
Methods inherited from interface edu.umd.cs.findbugs.ba.DataflowAnalysis
copy, createFact, initEntryFact, isTop, makeFactTop, meetInto, same
-
-
-
-
Constructor Detail
-
BackwardDataflowAnalysis
public BackwardDataflowAnalysis(ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs)
-
-
Method Detail
-
getReverseDepthFirstSearch
protected ReverseDepthFirstSearch getReverseDepthFirstSearch()
-
isForwards
public boolean isForwards()
Description copied from interface:DataflowAnalysis
Returns true if the analysis is forwards, false if backwards.
-
getBlockOrder
public BlockOrder getBlockOrder(CFG cfg)
Description copied from interface:DataflowAnalysis
Return the BlockOrder specifying the order in which BasicBlocks should be visited in the main dataflow loop.- Parameters:
cfg
- the CFG upon which we're performing dataflow analysis
-
-