Class DelegatingExplicitCallGraph.DelegatingCGNode
- java.lang.Object
-
- com.ibm.wala.util.graph.impl.NodeWithNumber
-
- com.ibm.wala.ipa.callgraph.impl.BasicCallGraph.NodeImpl
-
- com.ibm.wala.ipa.callgraph.impl.ExplicitCallGraph.ExplicitNode
-
- com.ibm.wala.ipa.callgraph.propagation.rta.DelegatingExplicitCallGraph.DelegatingCGNode
-
- All Implemented Interfaces:
CGNode
,ContextItem
,IClassHierarchyDweller
,INodeWithNumber
- Enclosing class:
- DelegatingExplicitCallGraph
public class DelegatingExplicitCallGraph.DelegatingCGNode extends ExplicitCallGraph.ExplicitNode
In this implementation, super.targets is a mapping from call site -> Object, where Object is a-
A Mapping from call site -> Object, where Object is a
- CGNode if we've discovered exactly one target for the site
- or an IntSet of node numbers if we've discovered more than one target for the site.
- a CallSite if we're delegating these edges to another node
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.ibm.wala.ipa.callgraph.ContextItem
ContextItem.Value<T>
-
-
Field Summary
-
Fields inherited from class com.ibm.wala.ipa.callgraph.impl.ExplicitCallGraph.ExplicitNode
targets
-
Fields inherited from class com.ibm.wala.ipa.callgraph.impl.BasicCallGraph.NodeImpl
method
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DelegatingCGNode(IMethod method, Context C)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delegate(CallSiteReference site, CGNode delegateNode, CallSiteReference delegateSite)
MutableSharedBitVectorIntSet
getAllTargetNumbers()
int
getNumberOfTargets(CallSiteReference site)
IntSet
getPossibleTargetNumbers(CallSiteReference site)
Set<CGNode>
getPossibleTargets(CallSiteReference site)
-
Methods inherited from class com.ibm.wala.ipa.callgraph.impl.ExplicitCallGraph.ExplicitNode
addTarget, addTarget, clearAllTargets, equals, getCallGraph, getCFG, getDU, getIR, getPossibleSites, hashCode, iterateCallSites, iterateNewSites, removeTarget
-
Methods inherited from class com.ibm.wala.ipa.callgraph.impl.BasicCallGraph.NodeImpl
getClassHierarchy, getContext, getMethod, toString
-
Methods inherited from class com.ibm.wala.util.graph.impl.NodeWithNumber
getGraphNodeId, setGraphNodeId
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.ibm.wala.util.graph.INodeWithNumber
getGraphNodeId, setGraphNodeId
-
-
-
-
Method Detail
-
getAllTargetNumbers
public MutableSharedBitVectorIntSet getAllTargetNumbers()
- Overrides:
getAllTargetNumbers
in classExplicitCallGraph.ExplicitNode
-
getPossibleTargets
public Set<CGNode> getPossibleTargets(CallSiteReference site)
- Overrides:
getPossibleTargets
in classExplicitCallGraph.ExplicitNode
-
getPossibleTargetNumbers
public IntSet getPossibleTargetNumbers(CallSiteReference site)
- Overrides:
getPossibleTargetNumbers
in classExplicitCallGraph.ExplicitNode
-
getNumberOfTargets
public int getNumberOfTargets(CallSiteReference site)
- Overrides:
getNumberOfTargets
in classExplicitCallGraph.ExplicitNode
-
delegate
public void delegate(CallSiteReference site, CGNode delegateNode, CallSiteReference delegateSite)
-
-