Package soot.jimple.toolkits.callgraph
Class CallGraphBuilder
- java.lang.Object
-
- soot.jimple.toolkits.callgraph.CallGraphBuilder
-
public class CallGraphBuilder extends Object
Models the call graph.- Author:
- Ondrej Lhotak
-
-
Constructor Summary
Constructors Constructor Description CallGraphBuilder()This constructor builds the incomplete hack call graph for the Dava ThrowFinder.CallGraphBuilder(PointsToAnalysis pa)This constructor builds a complete call graph using the given PointsToAnalysis to resolve virtual calls.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuild()protected OnFlyCallGraphBuildercreateCGBuilder(ContextManager cm, ReachableMethods reachables2)CallGraphgetCallGraph()static ContextManagermakeContextManager(CallGraph cg)protected booleanprocess(MethodOrMethodContext momc)Processes one item.protected voidprocessArrays(MethodOrMethodContext momc)protected voidprocessBases(MethodOrMethodContext momc)protected voidprocessReceivers(MethodOrMethodContext momc)protected voidprocessStringConstants(MethodOrMethodContext momc)ReachableMethodsreachables()
-
-
-
Constructor Detail
-
CallGraphBuilder
public CallGraphBuilder()
This constructor builds the incomplete hack call graph for the Dava ThrowFinder. It uses all application class methods as entry points, and it ignores any calls by non-application class methods. Don't use this constructor if you need a real call graph.
-
CallGraphBuilder
public CallGraphBuilder(PointsToAnalysis pa)
This constructor builds a complete call graph using the given PointsToAnalysis to resolve virtual calls.
-
-
Method Detail
-
createCGBuilder
protected OnFlyCallGraphBuilder createCGBuilder(ContextManager cm, ReachableMethods reachables2)
-
getCallGraph
public CallGraph getCallGraph()
-
reachables
public ReachableMethods reachables()
-
makeContextManager
public static ContextManager makeContextManager(CallGraph cg)
-
build
public void build()
-
process
protected boolean process(MethodOrMethodContext momc)
Processes one item.- Parameters:
momc- the method or method context- Returns:
- true if the next item should be processed.
-
processStringConstants
protected void processStringConstants(MethodOrMethodContext momc)
-
processArrays
protected void processArrays(MethodOrMethodContext momc)
-
processBases
protected void processBases(MethodOrMethodContext momc)
-
processReceivers
protected void processReceivers(MethodOrMethodContext momc)
-
-