Package ghidra.program.model.util
Class AcyclicCallGraphBuilder
java.lang.Object
ghidra.program.model.util.AcyclicCallGraphBuilder
Class to build an DependencyGraph base on a acyclic function call graph. This is useful when
you want to process functions "bottom up".
-
Constructor Summary
ConstructorsConstructorDescriptionAcyclicCallGraphBuilder(Program program, boolean killThunks) Creates a DependencyGraph of all functions in a program based on the call graph.AcyclicCallGraphBuilder(Program program, AddressSetView set, boolean killThunks) Creates a DependencyGraph of all functions in the given addressSet based on the call graph.AcyclicCallGraphBuilder(Program program, Collection<Function> functions, boolean killThunks) Creates a DependencyGraph of all functions in the given set of functions based on the call graph. -
Method Summary
Modifier and TypeMethodDescriptiongetDependencyGraph(TaskMonitor monitor) Builds the DependencyGraph for the acyclic call graph represented by this object.
-
Constructor Details
-
AcyclicCallGraphBuilder
Creates a DependencyGraph of all functions in a program based on the call graph.- Parameters:
program- the program to create an acyclic call graphkillThunks- true if thunked functions should be eliminated from the graph
-
AcyclicCallGraphBuilder
Creates a DependencyGraph of all functions in the given addressSet based on the call graph. Calls to or from functions outside the given address set are ignored.- Parameters:
program- the program to create an acyclic call graphset- the address to restrict the call graph.killThunks- true if thunked functions should be eliminated from the graph
-
AcyclicCallGraphBuilder
Creates a DependencyGraph of all functions in the given set of functions based on the call graph. Calls to or from functions not in the given set are ignored.- Parameters:
program- the program to create an acyclic call graphfunctions- the set of functions to include in the call graph.killThunks- true if thunked functions should be eliminated from the graph
-
-
Method Details
-
getDependencyGraph
public AbstractDependencyGraph<Address> getDependencyGraph(TaskMonitor monitor) throws CancelledException Builds the DependencyGraph for the acyclic call graph represented by this object.- Parameters:
monitor- the taskMonitor to use for reporting progress or cancelling.- Returns:
- the DependencyGraph for the acyclic call graph represented by this object.
- Throws:
CancelledException- if the monitor was cancelled.
-