diff --git a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java index 67e6f265ae..97b6fab7ac 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java +++ b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java @@ -42,8 +42,7 @@ import ghidra.debug.api.modules.*; import ghidra.debug.api.modules.ModuleMapProposal.ModuleMapEntry; import ghidra.debug.api.tracermi.*; import ghidra.framework.options.SaveState; -import ghidra.framework.plugintool.AutoConfigState.ConfigStateField; -import ghidra.framework.plugintool.AutoConfigState.PathIsFile; +import ghidra.framework.plugintool.AutoConfigState.*; import ghidra.framework.plugintool.PluginTool; import ghidra.program.model.address.Address; import ghidra.program.model.listing.Program; @@ -299,8 +298,18 @@ public abstract class AbstractTraceRmiLaunchOffer implements TraceRmiLaunchOffer List names = program.getLanguage().getLanguageDescription().getExternalNames(tool); if (names != null && !names.isEmpty()) { - var paramStr = (ParameterDescription) param; - paramStr.set(map, names.get(0)); + if (param.type == String.class) { + var paramStr = (ParameterDescription) param; + paramStr.set(map, names.get(0)); + } + else if (param.type == PathIsFile.class) { + var paramPIF = (ParameterDescription) param; + paramPIF.set(map, PathIsFile.fromString(names.get(0))); + } + else if (param.type == PathIsDir.class) { + var paramPID = (ParameterDescription) param; + paramPID.set(map, PathIsDir.fromString(names.get(0))); + } } } } diff --git a/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java b/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java index 49a56d95a9..424d5d09c6 100644 --- a/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java +++ b/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java @@ -305,6 +305,10 @@ public interface AutoConfigState { } record PathIsDir(Path path) { + public static PathIsDir fromString(String string) { + return new PathIsDir(Paths.get(string)); + } + @Override public String toString() { return path.toString(); @@ -328,6 +332,10 @@ public interface AutoConfigState { } record PathIsFile(Path path) { + public static PathIsFile fromString(String string) { + return new PathIsFile(Paths.get(string)); + } + @Override public String toString() { return path.toString();