Package edu.umd.cs.findbugs.ba
Class ForwardDataflowAnalysis<Fact>
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<Fact>
-
- edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<Fact>
-
- edu.umd.cs.findbugs.ba.ForwardDataflowAnalysis<Fact>
-
- All Implemented Interfaces:
DataflowAnalysis<Fact>
- Direct Known Subclasses:
FieldSetAnalysis
,FrameDataflowAnalysis
,LockAnalysis
,ObligationAnalysis
,ReturnPathAnalysis
,StackDepthAnalysis
public abstract class ForwardDataflowAnalysis<Fact> extends AbstractDataflowAnalysis<Fact>
Abstract base class for forward dataflow analyses. Provides convenient implementations for isForwards() and getBlockOrder() methods.- Author:
- David Hovemeyer
- See Also:
Dataflow
,DataflowAnalysis
-
-
Constructor Summary
Constructors Constructor Description ForwardDataflowAnalysis(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 DepthFirstSearch
getDepthFirstSearch()
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
-
ForwardDataflowAnalysis
public ForwardDataflowAnalysis(DepthFirstSearch dfs)
-
-
Method Detail
-
getDepthFirstSearch
protected DepthFirstSearch getDepthFirstSearch()
-
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
-
-