Class ExplicitCallGraph.ExplicitNode
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
- All Implemented Interfaces:
CGNode
,ContextItem
,IClassHierarchyDweller
,INodeWithNumber
- Direct Known Subclasses:
AstCallGraph.AstCGNode
,DelegatingExplicitCallGraph.DelegatingCGNode
- Enclosing class:
ExplicitCallGraph
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.ibm.wala.ipa.callgraph.ContextItem
ContextItem.Value<T>
-
Field Summary
Modifier and TypeFieldDescriptionprotected final SparseVector
<Object> A Mapping from call site program counter (int) -> 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.Fields inherited from class com.ibm.wala.ipa.callgraph.impl.BasicCallGraph.NodeImpl
method
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
boolean
addTarget
(CallSiteReference site, CGNode tNode) NOTE: This is for use only by call graph builders, not by any other client of this interface.void
boolean
protected MutableSharedBitVectorIntSet
getCFG()
getDU()
getIR()
protected int
protected Iterator
<CallSiteReference> protected IntSet
int
hashCode()
void
removeTarget
(CGNode target) 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
-
Field Details
-
targets
A Mapping from call site program counter (int) -> 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.
-
-
Constructor Details
-
ExplicitNode
-
-
Method Details
-
getPossibleTargets
-
getPossibleTargetNumbers
-
getPossibleSites
-
getNumberOfTargets
-
addTarget
Description copied from interface:CGNode
NOTE: This is for use only by call graph builders, not by any other client of this interface.Record that a particular call site might resolve to a call to a particular target node. Returns true if this is a new target
-
addTarget
-
removeTarget
-
equals
- Specified by:
equals
in classBasicCallGraph.NodeImpl
- See Also:
-
hashCode
public int hashCode()- Specified by:
hashCode
in classBasicCallGraph.NodeImpl
- See Also:
-
getAllTargetNumbers
-
clearAllTargets
public void clearAllTargets() -
getIR
- Returns:
- the "default" IR for this node used by the governing call graph
-
getDU
- Returns:
- DefUse for the "default" IR for this node used by the governing call graph
-
getCallGraph
-
iterateCallSites
- Returns:
- an Iterator of the call statements that may execute in a given method for a given context
-
iterateNewSites
- Returns:
- an Iterator of the types that may be allocated by a given method in a given context.
-
getCFG
-