[Lldb-commits] [lldb] 1b10288 - [lldb][NFCI] Change return type of GetProcessPluginName
Alex Langford via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 3 10:06:58 PDT 2023
Author: Alex Langford
Date: 2023-07-03T10:03:49-07:00
New Revision: 1b102886c0c33bb01ff8f2360b57c7b8d039abcc
URL: https://github.com/llvm/llvm-project/commit/1b102886c0c33bb01ff8f2360b57c7b8d039abcc
DIFF: https://github.com/llvm/llvm-project/commit/1b102886c0c33bb01ff8f2360b57c7b8d039abcc.diff
LOG: [lldb][NFCI] Change return type of GetProcessPluginName
Instead of just returning a raw `const char *`, I think llvm::StringRef
would make more sense. Most of the time that we use the return value of
`GetProcessPluginName` we're passing it to `CreateProcess` which takes a
StringRef anyway.
Differential Revision: https://reviews.llvm.org/D153825
Added:
Modified:
lldb/include/lldb/Host/ProcessLaunchInfo.h
lldb/include/lldb/Target/Process.h
lldb/source/Host/common/ProcessLaunchInfo.cpp
lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
lldb/source/Target/Target.cpp
Removed:
################################################################################
diff --git a/lldb/include/lldb/Host/ProcessLaunchInfo.h b/lldb/include/lldb/Host/ProcessLaunchInfo.h
index 891f46f650c8c5..25762bc65295d8 100644
--- a/lldb/include/lldb/Host/ProcessLaunchInfo.h
+++ b/lldb/include/lldb/Host/ProcessLaunchInfo.h
@@ -68,7 +68,7 @@ class ProcessLaunchInfo : public ProcessInfo {
void SetWorkingDirectory(const FileSpec &working_dir);
- const char *GetProcessPluginName() const;
+ llvm::StringRef GetProcessPluginName() const;
void SetProcessPluginName(llvm::StringRef plugin);
diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h
index cf0ddeed67e832..b358b7497ff9be 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -147,8 +147,8 @@ class ProcessAttachInfo : public ProcessInstanceInfo {
void SetResumeCount(uint32_t c) { m_resume_count = c; }
- const char *GetProcessPluginName() const {
- return (m_plugin_name.empty() ? nullptr : m_plugin_name.c_str());
+ llvm::StringRef GetProcessPluginName() const {
+ return llvm::StringRef(m_plugin_name);
}
void SetProcessPluginName(llvm::StringRef plugin) {
diff --git a/lldb/source/Host/common/ProcessLaunchInfo.cpp b/lldb/source/Host/common/ProcessLaunchInfo.cpp
index e737815750b2c0..0e2c3da11ba9fb 100644
--- a/lldb/source/Host/common/ProcessLaunchInfo.cpp
+++ b/lldb/source/Host/common/ProcessLaunchInfo.cpp
@@ -126,8 +126,8 @@ void ProcessLaunchInfo::SetWorkingDirectory(const FileSpec &working_dir) {
m_working_dir = working_dir;
}
-const char *ProcessLaunchInfo::GetProcessPluginName() const {
- return (m_plugin_name.empty() ? nullptr : m_plugin_name.c_str());
+llvm::StringRef ProcessLaunchInfo::GetProcessPluginName() const {
+ return llvm::StringRef(m_plugin_name);
}
void ProcessLaunchInfo::SetProcessPluginName(llvm::StringRef plugin) {
diff --git a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
index 017318fe4b4204..1301a301f2111d 100644
--- a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
+++ b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
@@ -533,9 +533,9 @@ lldb::ProcessSP PlatformWindows::Attach(ProcessAttachInfo &attach_info,
if (!target || error.Fail())
return process_sp;
- const char *plugin_name = attach_info.GetProcessPluginName();
- process_sp = target->CreateProcess(
- attach_info.GetListenerForProcess(debugger), plugin_name, nullptr, false);
+ process_sp =
+ target->CreateProcess(attach_info.GetListenerForProcess(debugger),
+ attach_info.GetProcessPluginName(), nullptr, false);
process_sp->HijackProcessEvents(attach_info.GetHijackListener());
if (process_sp)
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 1444bb6d1217ec..17181569cbca29 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -3209,8 +3209,8 @@ Status Target::Launch(ProcessLaunchInfo &launch_info, Stream *stream) {
assert(m_process_sp);
} else {
// Use a Process plugin to construct the process.
- const char *plugin_name = launch_info.GetProcessPluginName();
- CreateProcess(launch_info.GetListener(), plugin_name, nullptr, false);
+ CreateProcess(launch_info.GetListener(),
+ launch_info.GetProcessPluginName(), nullptr, false);
}
// Since we didn't have a platform launch the process, launch it here.
@@ -3371,14 +3371,14 @@ Status Target::Attach(ProcessAttachInfo &attach_info, Stream *stream) {
} else {
if (state != eStateConnected) {
SaveScriptedLaunchInfo(attach_info);
- const char *plugin_name = attach_info.GetProcessPluginName();
+ llvm::StringRef plugin_name = attach_info.GetProcessPluginName();
process_sp =
CreateProcess(attach_info.GetListenerForProcess(GetDebugger()),
plugin_name, nullptr, false);
- if (process_sp == nullptr) {
- error.SetErrorStringWithFormat(
- "failed to create process using plugin %s",
- (plugin_name) ? plugin_name : "null");
+ if (!process_sp) {
+ error.SetErrorStringWithFormatv(
+ "failed to create process using plugin '{0}'",
+ plugin_name.empty() ? "<empty>" : plugin_name);
return error;
}
}
More information about the lldb-commits
mailing list