|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.AbstractMap jwutil.collections.UnmodifiableMultiMap joeq.Compiler.Quad.CallGraph joeq.Compiler.Quad.CachedCallGraph
public class CachedCallGraph
Nested Class Summary |
---|
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 |
---|
Fields inherited from class jwutil.collections.UnmodifiableMultiMap |
---|
DEFAULT_HISTOGRAM_SIZE |
Constructor Summary | |
---|---|
CachedCallGraph(CallGraph cg)
|
Method Summary | |
---|---|
Set |
entrySet()
|
Collection |
getAllCallSites()
Returns the collection of all call sites in the call graph. |
Collection |
getAllMethods()
Returns the collection of all methods in the call graph. |
Collection |
getCallees(ControlFlowGraph cfg)
Returns the set of methods that are called by the given CFG. |
Collection |
getCallees(jq_Method caller)
Returns the set of methods that are called by the given method. |
Collection |
getCallerMethods(jq_Method callee)
Returns the set of methods that can call the given method. |
Collection |
getCallers(jq_Method callee)
Returns the set of call sites that can call the given method. |
Collection |
getCallSites(ControlFlowGraph cfg)
Returns the set of call sites in the given CFG. |
Collection |
getCallSites(jq_Method caller)
Returns the set of call sites in the given method. |
static Collection |
getFromMultiMap(jwutil.collections.MultiMap m1,
jwutil.collections.MultiMap m2,
jq_Method method)
|
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 |
inlineEdge(jq_Method caller,
ProgramLocation callSite,
jq_Method callee)
Inline the given edge in the call graph. |
void |
invalidateCache()
|
Set |
keySet()
|
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, findDepths, getCallGraphMap, getCallSiteMap, getCallSiteNavigator, 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, 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, values |
Constructor Detail |
---|
public CachedCallGraph(CallGraph cg)
Method Detail |
---|
public void invalidateCache()
public void setRoots(Collection roots)
CallGraph
setRoots
in class CallGraph
roots
- collection of root methodspublic Set entrySet()
entrySet
in interface Map
entrySet
in interface jwutil.collections.MultiMap
entrySet
in class CallGraph
public Collection getAllCallSites()
CallGraph
getAllCallSites
in class CallGraph
public Collection getAllMethods()
CallGraph
getAllMethods
in class CallGraph
public Collection getCallees(ControlFlowGraph cfg)
CallGraph
getCallees
in class CallGraph
public Collection getCallees(jq_Method caller)
CallGraph
getCallees
in class CallGraph
public static Collection getFromMultiMap(jwutil.collections.MultiMap m1, jwutil.collections.MultiMap m2, jq_Method method)
public Collection getCallers(jq_Method callee)
CallGraph
getCallers
in class CallGraph
public Collection getCallerMethods(jq_Method callee)
CallGraph
getCallerMethods
in class CallGraph
public Collection getCallSites(ControlFlowGraph cfg)
CallGraph
getCallSites
in class CallGraph
public Collection getCallSites(jq_Method caller)
CallGraph
getCallSites
in class CallGraph
public Collection getTargetMethods(Object context, ProgramLocation callSite)
CallGraph
getTargetMethods
in class CallGraph
public void inlineEdge(jq_Method caller, ProgramLocation callSite, jq_Method callee)
caller
- caller methodcallSite
- call site to inlinecallee
- callee methodpublic Set keySet()
keySet
in interface Map
keySet
in class AbstractMap
public Collection getRoots()
CallGraph
getRoots
in interface jwutil.graphs.Graph
getRoots
in class CallGraph
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |