public class ObservableStaticICFG extends Object implements ObservableICFG<Statement,Method>
CalleeListener and CallerListener. This call graph wraps a precomputed call graph and
notifies listeners about all interprocedual edges for the requested relation at once.| Constructor and Description |
|---|
ObservableStaticICFG(CallGraph icfg) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCalleeListener(CalleeListener<Statement,Method> listener)
Registers a listener that will be notified whenever a callee is added
|
void |
addCallerListener(CallerListener<Statement,Method> listener)
Registers a listener that will be notified whenever a caller is added.
|
void |
addEdges(CallGraph.Edge e) |
void |
computeFallback() |
Collection<Statement> |
getEndPointsOf(Method m) |
int |
getNumberOfEdgesTakenFromPrecomputedGraph()
Returns negative number to signify all edges are precomputed.
|
Collection<Statement> |
getStartPointsOf(Method m) |
boolean |
isCallStmt(Statement stmt)
Returns
true if the given statement is a call site. |
boolean |
isExitStmt(Statement stmt)
Returns
true if the given statement leads to a method return (exceptional or not). |
boolean |
isStartPoint(Statement stmt)
Returns true is this is a method's start statement.
|
void |
resetCallGraph()
Resets the call graph.
|
public ObservableStaticICFG(CallGraph icfg)
public void addCalleeListener(CalleeListener<Statement,Method> listener)
ObservableICFGaddCalleeListener in interface ObservableICFG<Statement,Method>public void addCallerListener(CallerListener<Statement,Method> listener)
ObservableICFGaddCallerListener in interface ObservableICFG<Statement,Method>public Collection<Statement> getStartPointsOf(Method m)
getStartPointsOf in interface ObservableICFG<Statement,Method>public boolean isCallStmt(Statement stmt)
ObservableICFGtrue if the given statement is a call site.isCallStmt in interface ObservableICFG<Statement,Method>public boolean isExitStmt(Statement stmt)
ObservableICFGtrue if the given statement leads to a method return (exceptional or not).
For backward analyses may also be start statements.isExitStmt in interface ObservableICFG<Statement,Method>public boolean isStartPoint(Statement stmt)
ObservableICFGisStartPoint in interface ObservableICFG<Statement,Method>public Collection<Statement> getEndPointsOf(Method m)
getEndPointsOf in interface ObservableICFG<Statement,Method>public int getNumberOfEdgesTakenFromPrecomputedGraph()
getNumberOfEdgesTakenFromPrecomputedGraph in interface ObservableICFG<Statement,Method>public void resetCallGraph()
ObservableICFGresetCallGraph in interface ObservableICFG<Statement,Method>public void computeFallback()
computeFallback in interface ObservableICFG<Statement,Method>public void addEdges(CallGraph.Edge e)
addEdges in interface ObservableICFG<Statement,Method>Copyright © 2024. All rights reserved.