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