harpoon.Analysis.MetaMethods
Class MetaCallGraphImpl

java.lang.Object
  extended by jpaul.Graphs.DiGraph<MetaMethod>
      extended by harpoon.Analysis.MetaMethods.MetaCallGraph
          extended by harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
              extended by harpoon.Analysis.MetaMethods.MetaCallGraphImpl
All Implemented Interfaces:
Serializable

public class MetaCallGraphImpl
extends MetaCallGraphAbstr

MetaCallGraphImpl is a full-power implementation of the MetaCallGraph interface. This is the class to use if you want to play with meta-methods.
Otherwise, you can simply use FakeCallGraph which allows you to run things that need meta method representation of the program even without generating them by simply providing a meta methods-like interface for the standard CallGraph.

Version:
$Id: MetaCallGraphImpl.java,v 1.19 2005/12/10 17:26:39 salcianu Exp $
Author:
Alexandru SALCIANU <salcianu@retezat.lcs.mit.edu>
See Also:
Serialized Form

Field Summary
static boolean COLL_HACK
           
static boolean DETERMINISTIC
          Make sure the results of the query methods (getCalles like) don't depend on the run; facilitate the debugging.
static boolean TOUGH_ON_NATIVES
           
 
Fields inherited from class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
all_meta_methods, callees1_cmpct, callees2_cmpct, run_mms
 
Fields inherited from class harpoon.Analysis.MetaMethods.MetaCallGraph
navigator
 
Fields inherited from class jpaul.Graphs.DiGraph
CACHING
 
Constructor Summary
MetaCallGraphImpl(CachingCodeFactory hcf, Linker linker, ClassHierarchy ch, Set hmroots)
          Creates a MetaCallGraphImpl.
 
Method Summary
 
Methods inherited from class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
getAllMetaMethods, getCallees, getCallees, getCallSites, getRunMetaMethods, getSplitRelation, getTransCallees, print
 
Methods inherited from class harpoon.Analysis.MetaMethods.MetaCallGraph
getBiDiNavigator, getForwardNavigator, getRoots
 
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
 

Field Detail

COLL_HACK

public static boolean COLL_HACK

TOUGH_ON_NATIVES

public static boolean TOUGH_ON_NATIVES

DETERMINISTIC

public static final boolean DETERMINISTIC
Make sure the results of the query methods (getCalles like) don't depend on the run; facilitate the debugging.

See Also:
Constant Field Values
Constructor Detail

MetaCallGraphImpl

public MetaCallGraphImpl(CachingCodeFactory hcf,
                         Linker linker,
                         ClassHierarchy ch,
                         Set hmroots)
Creates a MetaCallGraphImpl. It must receive, in its last parameter, the main method of the program.