harpoon.Analysis.Quads
Class CallGraph

java.lang.Object
  extended by jpaul.Graphs.DiGraph<HMethod>
      extended by harpoon.Analysis.CallGraph
          extended by harpoon.Analysis.Quads.CallGraph
Direct Known Subclasses:
CachingCallGraph, CallGraphImpl, SmartCallGraph, SSICallGraph

public abstract class CallGraph
extends CallGraph

CallGraph is a general interface that should be implemented by a call graph.

Version:
$Id: CallGraph.java,v 1.5 2003/05/06 15:00:39 salcianu Exp $
Author:
Alexandru SALCIANU <salcianu@mit.edu>

Field Summary
 
Fields inherited from class harpoon.Analysis.CallGraph
navigator
 
Fields inherited from class jpaul.Graphs.DiGraph
CACHING
 
Constructor Summary
CallGraph()
           
 
Method Summary
abstract  HMethod[] calls(HMethod hm, CALL cs)
          Returns an array containing all possible methods called by method m at the call site cs.
abstract  CALL[] getCallSites(HMethod hm)
          Returns a list of all the CALLs quads in the code of hm.
 
Methods inherited from class harpoon.Analysis.CallGraph
callableMethods, calls, getBiDiNavigator, getForwardNavigator, getRoots, getRunMethods
 
Methods inherited from class jpaul.Graphs.DiGraph
constructBiDiNavigator, dfs, dfs2, diGraph, diGraph, findPath, findPath, forAllVertices, getComponentDiGraph, numArcs, numVertices, reverseDiGraph, subDiGraph, toString, transitivePred, transitivePred, transitiveSucc, transitiveSucc, union, vertices
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CallGraph

public CallGraph()
Method Detail

calls

public abstract HMethod[] calls(HMethod hm,
                                CALL cs)
Returns an array containing all possible methods called by method m at the call site cs. If there is no known callee for the call site cs, or if cs doesn't belong to the code of hm, return an array of length 0.


getCallSites

public abstract CALL[] getCallSites(HMethod hm)
Returns a list of all the CALLs quads in the code of hm.