|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjpaul.Graphs.DiGraph<HMethod>
harpoon.Analysis.CallGraph
public abstract class CallGraph
CallGraph is a general IR-independant interface that
for a call graph. IR-specific subclasses (see
harpoon.Analysis.Quads.CallGraph) can provide
call-site information.
| Field Summary | |
|---|---|
protected jpaul.Graphs.BiDiNavigator<HMethod> |
navigator
cached bi-directional navigator |
| Fields inherited from class jpaul.Graphs.DiGraph |
|---|
CACHING |
| Constructor Summary | |
|---|---|
CallGraph()
|
|
| Method Summary | |
|---|---|
abstract Set<HMethod> |
callableMethods()
Returns the set of all the methods that can be called in the execution of the program. |
abstract HMethod[] |
calls(HMethod hm)
Returns an array containing all possible methods called by method m. |
jpaul.Graphs.BiDiNavigator<HMethod> |
getBiDiNavigator()
Returns a bi-directional top-down graph navigator through this callgraph. |
jpaul.Graphs.ForwardNavigator<HMethod> |
getForwardNavigator()
Returns a forward-only top-down graph navigator through this callgraph. |
Set<HMethod> |
getRoots()
|
Set |
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 |
| Field Detail |
|---|
protected jpaul.Graphs.BiDiNavigator<HMethod> navigator
| Constructor Detail |
|---|
public CallGraph()
| Method Detail |
|---|
public abstract HMethod[] calls(HMethod hm)
m. If hm doesn't call any
method, return an array of length 0.
public abstract Set<HMethod> callableMethods()
public Set getRunMethods()
run() methods that may
be the bodies of a thread started by the program (optional operation).
UnsupportedOperationException - if getRunMethods
is not implemented by this.public Set<HMethod> getRoots()
getRoots in class jpaul.Graphs.DiGraph<HMethod>public jpaul.Graphs.BiDiNavigator<HMethod> getBiDiNavigator()
this callgraph. Result is internally cached.
getBiDiNavigator in class jpaul.Graphs.DiGraph<HMethod>public jpaul.Graphs.ForwardNavigator<HMethod> getForwardNavigator()
this callgraph.
getForwardNavigator in class jpaul.Graphs.DiGraph<HMethod>
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||