public class ControlDependenceGraph<I,T extends IBasicBlock<I>> extends AbstractNumberedGraph<T>
Constructor and Description |
---|
ControlDependenceGraph(ControlFlowGraph<I,T> cfg) |
ControlDependenceGraph(ControlFlowGraph<I,T> cfg,
boolean wantEdgeLabels) |
Modifier and Type | Method and Description |
---|---|
boolean |
controlEquivalent(T bb1,
T bb2) |
ControlFlowGraph |
getControlFlowGraph() |
Set<Object> |
getEdgeLabels(Object from,
Object to)
Return the set of edge labels for the control flow edges that cause the given edge in the CDG.
|
NumberedEdgeManager<T> |
getEdgeManager() |
NumberedNodeManager<T> |
getNodeManager() |
String |
toString() |
getMaxNumber, getNode, getNumber, getPredNodeNumbers, getSuccNodeNumbers, iterateNodes
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
removeNodeAndEdges
addNode, containsNode, getNumberOfNodes, iterator, removeNode
forEach, spliterator
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
public ControlDependenceGraph(ControlFlowGraph<I,T> cfg, boolean wantEdgeLabels)
cfg
- governing control flow graphwantEdgeLabels
- whether to compute edge labels for CDG edgespublic ControlDependenceGraph(ControlFlowGraph<I,T> cfg)
cfg
- governing control flow graphpublic String toString()
toString
in class AbstractGraph<T extends IBasicBlock<I>>
public ControlFlowGraph getControlFlowGraph()
public Set<Object> getEdgeLabels(Object from, Object to)
public NumberedNodeManager<T> getNodeManager()
getNodeManager
in class AbstractNumberedGraph<T extends IBasicBlock<I>>
public NumberedEdgeManager<T> getEdgeManager()
getEdgeManager
in class AbstractNumberedGraph<T extends IBasicBlock<I>>