public class PartialCallGraph extends DelegatingGraph<CGNode> implements CallGraph
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
cg |
protected Collection<CGNode> |
partialRoots |
| Modifier | Constructor and Description |
|---|---|
protected |
PartialCallGraph(CallGraph cg,
Collection<CGNode> partialRoots,
Graph<CGNode> partialGraph) |
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitremoveNodeAndEdgesaddNode, containsNode, getNumberOfNodes, iterator, removeNodeforEach, spliteratoraddEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdgesprotected final CallGraph cg
protected final Collection<CGNode> partialRoots
protected PartialCallGraph(CallGraph cg, Collection<CGNode> partialRoots, Graph<CGNode> partialGraph)
public static PartialCallGraph make(CallGraph cg, Collection<CGNode> partialRoots, Collection<CGNode> nodes)
cg - the original call graphpartialRoots - roots of the new, partial graphnodes - set of nodes that will be included in the new, partial call graphpublic static PartialCallGraph make(CallGraph cg, Collection<CGNode> partialRoots)
cg - the original call graphpartialRoots - roots of the new, partial graph
the result contains only nodes reachable from the partialRoots in the original call graph.public CGNode getFakeRootNode() throws UnsupportedOperationException
CallGraphroot node of the call graph.getFakeRootNode in interface CallGraphUnsupportedOperationExceptionpublic CGNode getFakeWorldClinitNode() throws UnsupportedOperationException
getFakeWorldClinitNode in interface CallGraphUnsupportedOperationExceptionpublic Collection<CGNode> getEntrypointNodes()
getEntrypointNodes in interface CallGraphpublic CGNode getNode(IMethod method, Context C)
CallGraphgetNodespublic Set<CGNode> getNodes(MethodReference m)
public IClassHierarchy getClassHierarchy()
getClassHierarchy in interface CallGraphpublic Iterator<CGNode> iterateNodes(IntSet nodes)
iterateNodes in interface NumberedNodeManager<CGNode>public int getMaxNumber()
getMaxNumber in interface NumberedNodeManager<CGNode>public CGNode getNode(int index)
getNode in interface NumberedNodeManager<CGNode>public int getNumber(CGNode n)
getNumber in interface NumberedNodeManager<CGNode>public IntSet getSuccNodeNumbers(CGNode node)
getSuccNodeNumbers in interface NumberedEdgeManager<CGNode>public IntSet getPredNodeNumbers(CGNode node)
getPredNodeNumbers in interface NumberedEdgeManager<CGNode>public int getNumberOfTargets(CGNode node, CallSiteReference site)
getNumberOfTargets in interface CallGraphpublic Iterator<CallSiteReference> getPossibleSites(CGNode src, CGNode target)
getPossibleSites in interface CallGraphpublic Set<CGNode> getPossibleTargets(CGNode node, CallSiteReference site)
CallGraphgetPossibleTargets in interface CallGraph