Package boomerang.callgraph
Class BackwardsObservableICFG
- java.lang.Object
-
- boomerang.callgraph.BackwardsObservableICFG
-
- All Implemented Interfaces:
ObservableICFG<Statement,Method>
public class BackwardsObservableICFG extends Object implements ObservableICFG<Statement,Method>
-
-
Field Summary
Fields Modifier and Type Field Description protected ObservableICFG<Statement,Method>delegate
-
Constructor Summary
Constructors Constructor Description BackwardsObservableICFG(ObservableICFG<Statement,Method> fwOICFG)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCalleeListener(CalleeListener listener)Registers a listener that will be notified whenever a callee is addedvoidaddCallerListener(CallerListener listener)Registers a listener that will be notified whenever a caller is added.voidaddEdges(CallGraph.Edge e)voidcomputeFallback()Collection<Statement>getEndPointsOf(Method m)intgetNumberOfEdgesTakenFromPrecomputedGraph()Collection<Statement>getStartPointsOf(Method m)booleanisCallStmt(Statement stmt)Returnstrueif the given statement is a call site.booleanisExitStmt(Statement stmt)Returnstrueif the given statement leads to a method return (exceptional or not).booleanisStartPoint(Statement stmt)Returns true is this is a method's start statement.voidresetCallGraph()Resets the call graph.
-
-
-
Field Detail
-
delegate
protected final ObservableICFG<Statement,Method> delegate
-
-
Constructor Detail
-
BackwardsObservableICFG
public BackwardsObservableICFG(ObservableICFG<Statement,Method> fwOICFG)
-
-
Method Detail
-
getStartPointsOf
public Collection<Statement> getStartPointsOf(Method m)
- Specified by:
getStartPointsOfin interfaceObservableICFG<Statement,Method>
-
isExitStmt
public boolean isExitStmt(Statement stmt)
Description copied from interface:ObservableICFGReturnstrueif the given statement leads to a method return (exceptional or not). For backward analyses may also be start statements.- Specified by:
isExitStmtin interfaceObservableICFG<Statement,Method>
-
isStartPoint
public boolean isStartPoint(Statement stmt)
Description copied from interface:ObservableICFGReturns true is this is a method's start statement. For backward analyses those may also be return or throws statements.- Specified by:
isStartPointin interfaceObservableICFG<Statement,Method>
-
getEndPointsOf
public Collection<Statement> getEndPointsOf(Method m)
- Specified by:
getEndPointsOfin interfaceObservableICFG<Statement,Method>
-
isCallStmt
public boolean isCallStmt(Statement stmt)
Description copied from interface:ObservableICFGReturnstrueif the given statement is a call site.- Specified by:
isCallStmtin interfaceObservableICFG<Statement,Method>
-
addCalleeListener
public void addCalleeListener(CalleeListener listener)
Description copied from interface:ObservableICFGRegisters a listener that will be notified whenever a callee is added- Specified by:
addCalleeListenerin interfaceObservableICFG<Statement,Method>
-
addCallerListener
public void addCallerListener(CallerListener listener)
Description copied from interface:ObservableICFGRegisters a listener that will be notified whenever a caller is added.- Specified by:
addCallerListenerin interfaceObservableICFG<Statement,Method>
-
getNumberOfEdgesTakenFromPrecomputedGraph
public int getNumberOfEdgesTakenFromPrecomputedGraph()
- Specified by:
getNumberOfEdgesTakenFromPrecomputedGraphin interfaceObservableICFG<Statement,Method>
-
resetCallGraph
public void resetCallGraph()
Description copied from interface:ObservableICFGResets the call graph. Only affects the call graph if it was built demand-driven, otherwise graph will remain unchanged. Demand-driven call graph will keep intraprocedual information, but reset start with an empty call graph again.- Specified by:
resetCallGraphin interfaceObservableICFG<Statement,Method>
-
computeFallback
public void computeFallback()
- Specified by:
computeFallbackin interfaceObservableICFG<Statement,Method>
-
addEdges
public void addEdges(CallGraph.Edge e)
- Specified by:
addEdgesin interfaceObservableICFG<Statement,Method>
-
-