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
ConstructorDescriptionAcyclicCallGraphBuilder
(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.
-