GT-2848: Refactor DependencyGraph with Deterministic version

This commit is contained in:
ghizard 2019-05-07 10:24:41 -04:00
parent dace9682fb
commit fa558af9c2
11 changed files with 744 additions and 343 deletions

View file

@ -37,7 +37,7 @@ import ghidra.program.model.util.AcyclicCallGraphBuilder;
import ghidra.util.Msg;
import ghidra.util.exception.CancelledException;
import ghidra.util.exception.InvalidInputException;
import ghidra.util.graph.DependencyGraph;
import ghidra.util.graph.AbstractDependencyGraph;
import ghidra.util.task.TaskMonitor;
public class DecompilerParameterIdCmd extends BackgroundCommand {
@ -74,7 +74,7 @@ public class DecompilerParameterIdCmd extends BackgroundCommand {
monitor.setMessage("Analyzing Call Hierarchy...");
AcyclicCallGraphBuilder builder =
new AcyclicCallGraphBuilder(program, entryPoints, true);
DependencyGraph<Address> graph = builder.getDependencyGraph(monitor);
AbstractDependencyGraph<Address> graph = builder.getDependencyGraph(monitor);
if (graph.isEmpty()) {
return true;
}

View file

@ -33,7 +33,7 @@ import ghidra.program.model.symbol.SourceType;
import ghidra.program.model.util.AcyclicCallGraphBuilder;
import ghidra.util.Msg;
import ghidra.util.exception.CancelledException;
import ghidra.util.graph.DependencyGraph;
import ghidra.util.graph.AbstractDependencyGraph;
import ghidra.util.task.TaskMonitor;
public class DecompilerCallConventionAnalyzer extends AbstractAnalyzer {
@ -138,7 +138,7 @@ public class DecompilerCallConventionAnalyzer extends AbstractAnalyzer {
monitor.setMessage("Analyzing Call Hierarchy...");
AcyclicCallGraphBuilder builder =
new AcyclicCallGraphBuilder(program, functionEntries, true);
DependencyGraph<Address> graph = builder.getDependencyGraph(monitor);
AbstractDependencyGraph<Address> graph = builder.getDependencyGraph(monitor);
if (graph.isEmpty()) {
return;
}