Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Compil3r.Quad
Class AndersenPointerAnalysis.AndersenCallGraph  view AndersenPointerAnalysis.AndersenCallGraph download AndersenPointerAnalysis.AndersenCallGraph.java

java.lang.Object
  extended byjava.util.AbstractMap
      extended byUtil.Collections.UnmodifiableMultiMap
          extended byCompil3r.Quad.CallGraph
              extended byCompil3r.Quad.AndersenPointerAnalysis.AndersenCallGraph
All Implemented Interfaces:
Util.Collections.BinaryRelation, Util.Graphs.Graph, java.util.Map, Util.Collections.MultiMap
Enclosing class:
AndersenPointerAnalysis

public static class AndersenPointerAnalysis.AndersenCallGraph
extends CallGraph


Nested Class Summary
 
Nested classes inherited from class Compil3r.Quad.CallGraph
CallGraph.CallGraphMap, CallGraph.CallGraphNavigator, CallGraph.CallSiteMap, CallGraph.CallTargetMap
 
Nested classes inherited from class java.util.AbstractMap
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
private  java.util.Set allMethods
           
private  java.util.Map callSiteToTargets
           
private  java.util.Set roots
           
 
Fields inherited from class Util.Collections.UnmodifiableMultiMap
DEFAULT_HISTOGRAM_SIZE
 
Fields inherited from class java.util.AbstractMap
 
Constructor Summary
AndersenPointerAnalysis.AndersenCallGraph(java.util.Map m, java.util.Set s)
           
 
Method Summary
private  java.util.Set calculateAllMethods()
           
 java.util.Collection getAllMethods()
          Returns the collection of all methods in the call graph.
 java.util.Collection getRoots()
           
 java.util.Collection getTargetMethods(java.lang.Object context, ProgramLocation callSite)
          Returns the possible target methods of the given call site under the given context.
 void setRoots(java.util.Collection roots)
          Sets up the root methods to be the given set.
 
Methods inherited from class Compil3r.Quad.CallGraph
calculateBackEdges, calculateEdgeRelation, calculateReachableMethods, contains, entrySet, findDepths, getAllCallSites, getCallees, getCallees, getCallers, getCallGraphMap, getCallSiteMap, getCallSites, getCallSites, getCallSites0, getCallSites0, getCallSites1, getNavigator, getTargetMethod, getTargetMethods, getValues, numberOfTargetMethods, numberOfTargetMethods, toString
 
Methods inherited from class Util.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 Util.Collections.MultiMap
get, size
 
Methods inherited from interface java.util.Map
containsKey, containsValue, equals, hashCode, isEmpty, keySet, values
 

Field Detail

callSiteToTargets

private final java.util.Map callSiteToTargets

roots

private final java.util.Set roots

allMethods

private java.util.Set allMethods
Constructor Detail

AndersenPointerAnalysis.AndersenCallGraph

public AndersenPointerAnalysis.AndersenCallGraph(java.util.Map m,
                                                 java.util.Set s)
Method Detail

calculateAllMethods

private java.util.Set calculateAllMethods()

getTargetMethods

public java.util.Collection getTargetMethods(java.lang.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

setRoots

public void setRoots(java.util.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

getRoots

public java.util.Collection getRoots()
Specified by:
getRoots in interface Util.Graphs.Graph
Specified by:
getRoots in class CallGraph

getAllMethods

public java.util.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