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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DepthFirstSearchprivate final ReverseDepthFirstSearch -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPostDominatorsAnalysis(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, boolean ignoreExceptionEdges) Constructor.protectedPostDominatorsAnalysis(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.booleanReturns true if the analysis is forwards, false if backwards.Methods inherited from class AbstractDominatorsAnalysis
copy, createFact, getAllDominatedBy, getAllDominatorsOf, initEntryFact, isTop, makeFactTop, meetInto, same, transfer
-
Field Details
-
rdfs
-
dfs
-
-
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:DataflowAnalysisReturns true if the analysis is forwards, false if backwards. -
getBlockOrder
Description copied from interface:DataflowAnalysisReturn 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
-