Package edu.umd.cs.findbugs.ba
Class PostDominatorsAnalysis
java.lang.Object
edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<BitSet>
edu.umd.cs.findbugs.ba.AbstractDominatorsAnalysis
edu.umd.cs.findbugs.ba.PostDominatorsAnalysis
- All Implemented Interfaces:
DataflowAnalysis<BitSet>
- Direct Known Subclasses:
NonExceptionPostDominatorsAnalysis
,NonImplicitExceptionPostDominatorsAnalysis
Dataflow analysis to compute postdominator sets for a CFG.
- Author:
- David Hovemeyer
- See Also:
-
Constructor Summary
ModifierConstructorDescriptionprotected
PostDominatorsAnalysis
(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, boolean ignoreExceptionEdges) Constructor.protected
PostDominatorsAnalysis
(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, EdgeChooser edgeChooser) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetBlockOrder
(CFG cfg) Return the BlockOrder specifying the order in which BasicBlocks should be visited in the main dataflow loop.boolean
Returns true if the analysis is forwards, false if backwards.Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDominatorsAnalysis
copy, createFact, getAllDominatedBy, getAllDominatorsOf, initEntryFact, isTop, makeFactTop, meetInto, same, transfer
Methods inherited from class edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis
edgeTransfer, factToString, finishIteration, getFactAfterLocation, getFactAtLocation, getFactOnEdge, getLastUpdateTimestamp, getResultFact, getStartFact, resultFactIterator, setLastUpdateTimestamp, startIteration
-
Constructor Details
-
PostDominatorsAnalysis
protected PostDominatorsAnalysis(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, EdgeChooser edgeChooser) Constructor.- Parameters:
cfg
- the CFG to compute dominator relationships forrdfs
- the ReverseDepthFirstSearch on the CFGdfs
- the DepthFirstSearch on the CFGedgeChooser
- EdgeChooser to choose which Edges to consider significant
-
PostDominatorsAnalysis
protected PostDominatorsAnalysis(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, boolean ignoreExceptionEdges) Constructor.- Parameters:
cfg
- the CFG to compute dominator relationships forrdfs
- the ReverseDepthFirstSearch on the CFGdfs
- the DepthFirstSearch on the CFGignoreExceptionEdges
- true if exception edges should be ignored
-
-
Method Details
-
isForwards
public boolean isForwards()Description copied from interface:DataflowAnalysis
Returns true if the analysis is forwards, false if backwards. -
getBlockOrder
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
-