public class CHACallGraph extends BasicCallGraph<CHAContextInterpreter>
BasicCallGraph.Key, BasicCallGraph.NodeImpl
mr2Nodes
Constructor and Description |
---|
CHACallGraph(IClassHierarchy cha) |
Modifier and Type | Method and Description |
---|---|
CGNode |
findOrCreateNode(IMethod method,
Context C)
Use with extreme care.
|
IClassHierarchy |
getClassHierarchy() |
protected NumberedEdgeManager<CGNode> |
getEdgeManager() |
int |
getNumberOfTargets(CGNode node,
CallSiteReference site) |
Iterator<CallSiteReference> |
getPossibleSites(CGNode src,
CGNode target) |
Set<CGNode> |
getPossibleTargets(CGNode node,
CallSiteReference site)
Return the set of CGNodes that represent possible targets of a particular call site from a particular node
|
void |
init(Iterable<Entrypoint> entrypoints) |
protected CGNode |
makeFakeRootNode() |
protected CGNode |
makeFakeWorldClinitNode() |
containsNode, getEntrypointNodes, getFakeRootNode, getFakeWorldClinitNode, getInterpreter, getNode, getNode, getNodeManager, getNodes, getNumberOfNodes, init, iterator, registerEntrypoint, registerNode, removeNodeAndEdges, setInterpreter, summarizeByPackage, toString
getMaxNumber, getNode, getNumber, getPredNodeNumbers, getSuccNodeNumbers, iterateNodes
addEdge, addNode, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeOutgoingEdges
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getMaxNumber, getNode, getNumber, iterateNodes
addNode, removeNode
forEach, spliterator
getPredNodeNumbers, getSuccNodeNumbers
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
public CHACallGraph(IClassHierarchy cha)
public void init(Iterable<Entrypoint> entrypoints) throws CancelException
CancelException
public IClassHierarchy getClassHierarchy()
public Set<CGNode> getPossibleTargets(CGNode node, CallSiteReference site)
CallGraph
public int getNumberOfTargets(CGNode node, CallSiteReference site)
public Iterator<CallSiteReference> getPossibleSites(CGNode src, CGNode target)
protected CGNode makeFakeRootNode() throws CancelException
makeFakeRootNode
in class BasicCallGraph<CHAContextInterpreter>
CancelException
protected CGNode makeFakeWorldClinitNode() throws CancelException
makeFakeWorldClinitNode
in class BasicCallGraph<CHAContextInterpreter>
CancelException
public CGNode findOrCreateNode(IMethod method, Context C) throws CancelException
BasicCallGraph
findOrCreateNode
in class BasicCallGraph<CHAContextInterpreter>
CancelException
- TODOprotected NumberedEdgeManager<CGNode> getEdgeManager()
getEdgeManager
in class AbstractNumberedGraph<CGNode>