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, iterateNodesaddEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdgesclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitremoveNodeAndEdgesaddNode, containsNode, getNumberOfNodes, iterator, removeNodeforEach, spliteratoraddEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdgespublic 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>>