Package edu.umd.cs.findbugs.ba
Class DepthFirstSearch
- java.lang.Object
-
- edu.umd.cs.findbugs.graph.AbstractDepthFirstSearch<GraphType,EdgeType,VertexType>
-
- edu.umd.cs.findbugs.graph.DepthFirstSearch<CFG,Edge,BasicBlock>
-
- edu.umd.cs.findbugs.ba.DepthFirstSearch
-
- All Implemented Interfaces:
DFSEdgeTypes
public class DepthFirstSearch extends DepthFirstSearch<CFG,Edge,BasicBlock>
Algorithm to perform a depth first search on a 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 DepthFirstSearch(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.DepthFirstSearch
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
-
DepthFirstSearch
public DepthFirstSearch(CFG cfg)
Constructor.- Parameters:
cfg
- the CFG to perform the 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
-
-