com.ibm.wala.ipa.callgraph
Interface CGNode

All Superinterfaces:
ContextItem, IClassHierarchyDweller, INodeWithNumber
All Known Implementing Classes:
AstCallGraph.AstCGNode, BasicCallGraph.NodeImpl, DelegatingExplicitCallGraph.DelegatingCGNode, ExplicitCallGraph.ExplicitNode

public interface CGNode
extends INodeWithNumber, ContextItem, IClassHierarchyDweller

Basic interface for a node in a call graph.


Method Summary
 boolean addTarget(CallSiteReference site, CGNode target)
          Deprecated. 
 Context getContext()
          Return the context this CGNode represents.
 DefUse getDU()
           
 IR getIR()
           
 IMethod getMethod()
          Return the method this CGNode represents.
 java.util.Iterator<CallSiteReference> iterateCallSites()
           
 java.util.Iterator<NewSiteReference> iterateNewSites()
           
 
Methods inherited from interface com.ibm.wala.util.graph.INodeWithNumber
getGraphNodeId, setGraphNodeId
 
Methods inherited from interface com.ibm.wala.ipa.cha.IClassHierarchyDweller
getClassHierarchy
 

Method Detail

getMethod

IMethod getMethod()
Return the method this CGNode represents. This value will never be null.

Returns:
the target IMethod for this CGNode.

getContext

Context getContext()
Return the context this CGNode represents. This value will never be null.

Returns:
the Context for this CGNode.

addTarget

@Deprecated
boolean addTarget(CallSiteReference site,
                             CGNode target)
Deprecated. 

This is for use only by call graph builders ... not by the general public. Clients should not use this. Record that a particular call site might resolve to a call to a particular target node. Returns true if this is a new target


getIR

IR getIR()
Returns:
the "default" IR for this node used by the governing call graph

getDU

DefUse getDU()
Returns:
DefUse for the "default" IR for this node used by the governing call graph

iterateNewSites

java.util.Iterator<NewSiteReference> iterateNewSites()
Returns:
an Iterator of the types that may be allocated by a given method in a given context.

iterateCallSites

java.util.Iterator<CallSiteReference> iterateCallSites()
Returns:
an Iterator of the call statements that may execute in a given method for a given context