joeq.Compiler.Analysis.Primitive
Class PrimitivePACallGraph

java.lang.Object
  extended by java.util.AbstractMap
      extended by jwutil.collections.UnmodifiableMultiMap
          extended by joeq.Compiler.Quad.CallGraph
              extended by joeq.Compiler.Analysis.Primitive.PrimitivePACallGraph
All Implemented Interfaces:
Map, jwutil.collections.BinaryRelation, jwutil.collections.MultiMap, jwutil.graphs.Graph

public class PrimitivePACallGraph
extends CallGraph

PrimitivePACallGraph

Version:
$Id: PrimitivePACallGraph.java 2470 2006-07-17 05:20:48Z joewhaley $
Author:
John Whaley

Nested Class Summary
static class PrimitivePACallGraph.BDDSet
           
static class PrimitivePACallGraph.PACallTargetMap
           
 
Nested classes/interfaces inherited from class joeq.Compiler.Quad.CallGraph
CallGraph.CallGraphCSNavigator, CallGraph.CallGraphMap, CallGraph.CallGraphMethodNavigator, CallGraph.CallSiteMap, CallGraph.CallTargetMap
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
static boolean TRACE
           
 
Fields inherited from class jwutil.collections.UnmodifiableMultiMap
DEFAULT_HISTOGRAM_SIZE
 
Constructor Summary
PrimitivePACallGraph(PrimitivePA pa)
           
 
Method Summary
 Collection getAllMethods()
          Returns the collection of all methods in the call graph.
 Collection getRoots()
          Returns the collection of root methods for this call graph.
 Collection getTargetMethods(Object context, ProgramLocation callSite)
          Returns the possible target methods of the given call site under the given context.
 void setRoots(Collection roots)
          Sets up the root methods to be the given set.
 
Methods inherited from class joeq.Compiler.Quad.CallGraph
calculateCallerRelation, calculateEdgeRelation, calculateReachableMethods, contains, entrySet, findDepths, getAllCallSites, getCallees, getCallees, getCallerMethods, getCallers, getCallGraphMap, getCallSiteMap, getCallSiteNavigator, getCallSites, getCallSites, getCallSites0, getCallSites0, getCallSites1, getMethodNavigator, getNavigator, getTargetMethod, getTargetMethods, getValues, makeCallGraph, numberOfTargetMethods, numberOfTargetMethods, toString
 
Methods inherited from class jwutil.collections.UnmodifiableMultiMap
add, addAll, addAll, clear, computeHistogram, computeHistogram, entrySetHelper, proxy, put, putAll, remove, remove, removeAll, retainAll
 
Methods inherited from class java.util.AbstractMap
clone, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, size, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jwutil.collections.MultiMap
get, size
 
Methods inherited from interface java.util.Map
containsKey, containsValue, equals, hashCode, isEmpty, keySet, values
 

Field Detail

TRACE

public static final boolean TRACE
See Also:
Constant Field Values
Constructor Detail

PrimitivePACallGraph

public PrimitivePACallGraph(PrimitivePA pa)
Method Detail

setRoots

public void setRoots(Collection roots)
Description copied from class: CallGraph
Sets up the root methods to be the given set. Later call graph queries use the value that you pass in here. Implementing this method is optional -- it is only necessary if you use methods that require a root set, like getReachableMethods().

Specified by:
setRoots in class CallGraph
Parameters:
roots - collection of root methods

getRoots

public Collection getRoots()
Description copied from class: CallGraph
Returns the collection of root methods for this call graph.

Specified by:
getRoots in interface jwutil.graphs.Graph
Specified by:
getRoots in class CallGraph

getTargetMethods

public Collection getTargetMethods(Object context,
                                   ProgramLocation callSite)
Description copied from class: CallGraph
Returns the possible target methods of the given call site under the given context. The interpretation of the context object is specific to the type of call graph.

Specified by:
getTargetMethods in class CallGraph
Returns:
Collection of jq_Methods that are the possible targets

getAllMethods

public Collection getAllMethods()
Description copied from class: CallGraph
Returns the collection of all methods in the call graph. The default implementation recalculates the reachable methods based on the root set.

Overrides:
getAllMethods in class CallGraph
Returns:
Collection of all call sites in the call graph


Copyright © 2001-2008 John Whaley. All Rights Reserved.