edu.umd.cs.findbugs.ba
Class DominatorsAnalysis
java.lang.Object
edu.umd.cs.findbugs.ba.AbstractDominatorsAnalysis
edu.umd.cs.findbugs.ba.DominatorsAnalysis
- All Implemented Interfaces:
- DataflowAnalysis<java.util.BitSet>
public class DominatorsAnalysis
- extends AbstractDominatorsAnalysis
Dataflow analysis to compute dominator sets for a CFG.
- Author:
- David Hovemeyer
- See Also:
CFG,
AbstractDominatorsAnalysis
|
Method Summary |
BlockOrder |
getBlockOrder(CFG cfg)
Return the BlockOrder specifying the order in which BasicBlocks
should be visited in the main dataflow loop. |
boolean |
isForwards()
Returns true if the analysis is forwards, false if backwards. |
static void |
main(java.lang.String[] argv)
|
| Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDominatorsAnalysis |
copy, createFact, getAllDominatedBy, getAllDominatorsOf, getResultFact, getStartFact, initEntryFact, initResultFact, isTop, makeFactTop, meetInto, same, transfer |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DominatorsAnalysis
public DominatorsAnalysis(CFG cfg,
DepthFirstSearch dfs,
boolean ignoreExceptionEdges)
- Constructor.
- Parameters:
cfg - the CFG to compute dominator relationships fordfs - the DepthFirstSearch on the CFGignoreExceptionEdges - true if exception edges should be ignored
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
main
public static void main(java.lang.String[] argv)
throws java.lang.Exception
- Throws:
java.lang.Exception