N - Nodes in the CFG, typically Unit or BlockM - Method representationpublic interface ObservableICFG<N,M>
CalleeListener and
CallerListener. Can be used for demand-driven call graph generation.| Modifier and Type | Method and Description |
|---|---|
void |
addCalleeListener(CalleeListener<N,M> listener)
Registers a listener that will be notified whenever a callee is added
|
void |
addCallerListener(CallerListener<N,M> listener)
Registers a listener that will be notified whenever a caller is added.
|
void |
addUnbalancedMethod(soot.SootMethod method) |
Set<N> |
allNonCallEndNodes() |
Set<N> |
allNonCallStartNodes()
Returns the set of all nodes that are neither call nor start nodes.
|
Collection<N> |
getAllPrecomputedCallers(M m)
Returns all precomputed callers for a given method.
|
soot.jimple.toolkits.callgraph.CallGraph |
getCallGraphCopy() |
Set<N> |
getCallsFromWithin(M m)
Returns all call sites within a given method.
|
Collection<N> |
getEndPointsOf(M m) |
M |
getMethodOf(N n)
Returns the method containing a node.
|
int |
getNumberOfEdgesTakenFromPrecomputedGraph() |
List<soot.Value> |
getParameterRefs(M m)
Returns the list of parameter references used in the method's body.
|
List<N> |
getPredsOf(N u) |
Collection<N> |
getStartPointsOf(M m)
Returns all start points of a given method.
|
List<N> |
getSuccsOf(N n)
Returns the successor nodes.
|
boolean |
isCallStmt(N stmt)
Returns
true if the given statement is a call site. |
boolean |
isExitStmt(N stmt)
Returns
true if the given statement leads to a method return (exceptional or not). |
boolean |
isReachable(N u)
Checks whether the given statement is reachable from the entry point
|
boolean |
isStartPoint(N stmt)
Returns true is this is a method's start statement.
|
boolean |
isUnbalancedMethod(soot.SootMethod method) |
void |
resetCallGraph()
Resets the call graph.
|
M getMethodOf(N n)
n - The node for which to get the parent methodvoid addCalleeListener(CalleeListener<N,M> listener)
void addCallerListener(CallerListener<N,M> listener)
Collection<N> getAllPrecomputedCallers(M m)
addCalleeListener(CalleeListener)
only differs when using dynamic call graph.Collection<N> getStartPointsOf(M m)
boolean isCallStmt(N stmt)
true if the given statement is a call site.boolean isExitStmt(N stmt)
true if the given statement leads to a method return (exceptional or not). For backward
analyses may also be start statements.boolean isStartPoint(N stmt)
Set<N> allNonCallStartNodes()
Collection<N> getEndPointsOf(M m)
List<soot.Value> getParameterRefs(M m)
null entries for
parameters not referenced in the body. The returned list is of fixed size.boolean isReachable(N u)
u - The statement to checksoot.jimple.toolkits.callgraph.CallGraph getCallGraphCopy()
boolean isUnbalancedMethod(soot.SootMethod method)
void addUnbalancedMethod(soot.SootMethod method)
int getNumberOfEdgesTakenFromPrecomputedGraph()
void resetCallGraph()
Copyright © 2023. All rights reserved.