Package edu.umd.cs.findbugs.ba
Class DominatorsAnalysis
java.lang.Object
edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<BitSet>
edu.umd.cs.findbugs.ba.AbstractDominatorsAnalysis
edu.umd.cs.findbugs.ba.DominatorsAnalysis
- All Implemented Interfaces:
DataflowAnalysis<BitSet>
- Direct Known Subclasses:
NonExceptionDominatorsAnalysis
,NonImplicitExceptionDominatorsAnalysis
Dataflow analysis to compute dominator sets for a CFG.
- Author:
- David Hovemeyer
- See Also:
-
Constructor Summary
ConstructorDescriptionDominatorsAnalysis
(CFG cfg, DepthFirstSearch dfs, boolean ignoreExceptionEdges) Constructor.DominatorsAnalysis
(CFG cfg, 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
-
DominatorsAnalysis
Constructor.- Parameters:
cfg
- the CFG to compute dominator relationships fordfs
- the DepthFirstSearch on the CFGedgeChooser
- EdgeChooser to choose which Edges to consider significant
-
DominatorsAnalysis
Constructor.- Parameters:
cfg
- the CFG to compute dominator relationships fordfs
- 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
-