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 ContextItem
ContextItem.Value<T> -
Field Summary
FieldsModifier 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 BasicCallGraph.NodeImpl
method -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanaddTarget(CallSiteReference site, CGNode tNode) NOTE: This is for use only by call graph builders, not by any other client of this interface.voidbooleanprotected MutableSharedBitVectorIntSetgetCFG()getDU()getIR()protected intprotected Iterator<CallSiteReference> protected IntSetinthashCode()voidremoveTarget(CGNode target) Methods inherited from class BasicCallGraph.NodeImpl
getClassHierarchy, getContext, getMethod, toStringMethods inherited from class NodeWithNumber
getGraphNodeId, setGraphNodeIdMethods inherited from interface 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:CGNodeNOTE: 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:
equalsin classBasicCallGraph.NodeImpl- See Also:
-
hashCode
public int hashCode()- Specified by:
hashCodein 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
-