Package edu.umd.cs.findbugs.ba
Class ReverseDepthFirstSearch
- java.lang.Object
-
- edu.umd.cs.findbugs.graph.AbstractDepthFirstSearch<GraphType,EdgeType,VertexType>
-
- edu.umd.cs.findbugs.graph.ReverseDepthFirstSearch<CFG,Edge,BasicBlock>
-
- edu.umd.cs.findbugs.ba.ReverseDepthFirstSearch
-
- All Implemented Interfaces:
DFSEdgeTypes
public class ReverseDepthFirstSearch extends ReverseDepthFirstSearch<CFG,Edge,BasicBlock>
Algorithm to perform a reverse depth first search on a CFG. (I.e., depth first search on reversed CFG.)- Author:
- David Hovemeyer
- See Also:
CFG
-
-
Field Summary
-
Fields inherited from class edu.umd.cs.findbugs.graph.AbstractDepthFirstSearch
BLACK, DEBUG, GRAY, WHITE
-
Fields inherited from interface edu.umd.cs.findbugs.graph.DFSEdgeTypes
BACK_EDGE, CROSS_EDGE, FORWARD_EDGE, TREE_EDGE, UNKNOWN_EDGE
-
-
Constructor Summary
Constructors Constructor Description ReverseDepthFirstSearch(CFG cfg)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BasicBlock
getNextSearchTreeRoot()
Choose the next search tree root.-
Methods inherited from class edu.umd.cs.findbugs.graph.ReverseDepthFirstSearch
getSource, getTarget, outgoingEdgeIterator
-
Methods inherited from class edu.umd.cs.findbugs.graph.AbstractDepthFirstSearch
containsCycle, getColor, getDFSEdgeType, getDiscoveryTime, getFinishTime, getFinishTimeList, search, setSearchTreeCallback, setVertexChooser, topologicalSortIterator, unvisitedVertices, visitMe
-
-
-
-
Constructor Detail
-
ReverseDepthFirstSearch
public ReverseDepthFirstSearch(CFG cfg)
Constructor.- Parameters:
cfg
- the CFG to perform the reverse depth first search on
-
-
Method Detail
-
getNextSearchTreeRoot
protected BasicBlock getNextSearchTreeRoot()
Description copied from class:AbstractDepthFirstSearch
Choose the next search tree root. By default, this method just scans for a WHITE vertex. Subclasses may override this method in order to choose which vertices are used as search tree roots.- Overrides:
getNextSearchTreeRoot
in classAbstractDepthFirstSearch<CFG,Edge,BasicBlock>
- Returns:
- the next search tree root
-
-