[Lldb-commits] [lldb] ab73a9c - [lldb] Eliminate {Get, Set}PropertyAtIndexAsFileSpec (NFC)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Thu May 4 22:10:57 PDT 2023
Author: Jonas Devlieghere
Date: 2023-05-04T22:10:28-07:00
New Revision: ab73a9c1a77cc9502f07ff8a9d1fd9dadccd702f
URL: https://github.com/llvm/llvm-project/commit/ab73a9c1a77cc9502f07ff8a9d1fd9dadccd702f
DIFF: https://github.com/llvm/llvm-project/commit/ab73a9c1a77cc9502f07ff8a9d1fd9dadccd702f.diff
LOG: [lldb] Eliminate {Get,Set}PropertyAtIndexAsFileSpec (NFC)
This patch is a continuation of 6f8b33f6dfd0 and eliminates the
{Get,Set}PropertyAtIndexAsFileSpec functions.
Added:
Modified:
lldb/include/lldb/Interpreter/OptionValue.h
lldb/include/lldb/Interpreter/OptionValueProperties.h
lldb/source/Core/ModuleList.cpp
lldb/source/Interpreter/CommandInterpreter.cpp
lldb/source/Interpreter/OptionValue.cpp
lldb/source/Interpreter/OptionValueProperties.cpp
lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/source/Target/Platform.cpp
lldb/source/Target/Process.cpp
lldb/source/Target/Target.cpp
Removed:
################################################################################
diff --git a/lldb/include/lldb/Interpreter/OptionValue.h b/lldb/include/lldb/Interpreter/OptionValue.h
index eef7d67eb034c..41dc6c4405937 100644
--- a/lldb/include/lldb/Interpreter/OptionValue.h
+++ b/lldb/include/lldb/Interpreter/OptionValue.h
@@ -13,6 +13,7 @@
#include "lldb/Utility/Cloneable.h"
#include "lldb/Utility/CompletionRequest.h"
#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/Status.h"
#include "lldb/lldb-defines.h"
#include "lldb/lldb-private-enumerations.h"
@@ -269,9 +270,9 @@ class OptionValue {
bool SetEnumerationValue(int64_t value);
- FileSpec GetFileSpecValue() const;
+ std::optional<FileSpec> GetFileSpecValue() const;
- bool SetFileSpecValue(const FileSpec &file_spec);
+ bool SetFileSpecValue(FileSpec file_spec);
FileSpecList GetFileSpecListValue() const;
@@ -334,6 +335,8 @@ class OptionValue {
return GetCharValue();
if constexpr (std::is_same_v<T, lldb::Format>)
return GetFormatValue();
+ if constexpr (std::is_same_v<T, FileSpec>)
+ return GetFileSpecValue();
if constexpr (std::is_same_v<T, lldb::LanguageType>)
return GetLanguageValue();
if constexpr (std::is_same_v<T, llvm::StringRef>)
@@ -362,6 +365,8 @@ class OptionValue {
bool SetValueAs(lldb::LanguageType v) { return SetLanguageValue(v); }
+ bool SetValueAs(FileSpec v) { return SetFileSpecValue(v); }
+
template <typename T, std::enable_if_t<std::is_enum_v<T>, bool> = true>
bool SetValueAs(T t) {
return SetEnumerationValue(t);
diff --git a/lldb/include/lldb/Interpreter/OptionValueProperties.h b/lldb/include/lldb/Interpreter/OptionValueProperties.h
index 617fedc7d13ee..004ed55e3b119 100644
--- a/lldb/include/lldb/Interpreter/OptionValueProperties.h
+++ b/lldb/include/lldb/Interpreter/OptionValueProperties.h
@@ -134,13 +134,6 @@ class OptionValueProperties
OptionValueFileSpec *GetPropertyAtIndexAsOptionValueFileSpec(
uint32_t idx, const ExecutionContext *exe_ctx = nullptr) const;
- FileSpec
- GetPropertyAtIndexAsFileSpec(uint32_t idx,
- const ExecutionContext *exe_ctx = nullptr) const;
-
- bool SetPropertyAtIndexAsFileSpec(uint32_t idx, const FileSpec &file_spec,
- const ExecutionContext *exe_ctx = nullptr);
-
OptionValuePathMappings *GetPropertyAtIndexAsOptionValuePathMappings(
uint32_t idx, const ExecutionContext *exe_ctx = nullptr) const;
diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp
index 39caa21b21b5c..256b4afa7bd6c 100644
--- a/lldb/source/Core/ModuleList.cpp
+++ b/lldb/source/Core/ModuleList.cpp
@@ -112,25 +112,23 @@ bool ModuleListProperties::GetEnableBackgroundLookup() const {
}
FileSpec ModuleListProperties::GetClangModulesCachePath() const {
- return m_collection_sp
- ->GetPropertyAtIndexAsOptionValueFileSpec(ePropertyClangModulesCachePath)
- ->GetCurrentValue();
+ const uint32_t idx = ePropertyClangModulesCachePath;
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
bool ModuleListProperties::SetClangModulesCachePath(const FileSpec &path) {
- return m_collection_sp->SetPropertyAtIndexAsFileSpec(
- ePropertyClangModulesCachePath, path);
+ const uint32_t idx = ePropertyClangModulesCachePath;
+ return SetPropertyAtIndex(idx, path);
}
FileSpec ModuleListProperties::GetLLDBIndexCachePath() const {
- return m_collection_sp
- ->GetPropertyAtIndexAsOptionValueFileSpec(ePropertyLLDBIndexCachePath)
- ->GetCurrentValue();
+ const uint32_t idx = ePropertyLLDBIndexCachePath;
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
bool ModuleListProperties::SetLLDBIndexCachePath(const FileSpec &path) {
- return m_collection_sp->SetPropertyAtIndexAsFileSpec(
- ePropertyLLDBIndexCachePath, path);
+ const uint32_t idx = ePropertyLLDBIndexCachePath;
+ return SetPropertyAtIndex(idx, path);
}
bool ModuleListProperties::GetEnableLLDBIndexCache() const {
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
index bb855665e76e9..735f18dd5004b 100644
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
@@ -185,7 +185,7 @@ void CommandInterpreter::SetOpenTranscriptInEditor(bool enable) {
FileSpec CommandInterpreter::GetSaveSessionDirectory() const {
const uint32_t idx = ePropertySaveSessionDirectory;
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(idx);
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
void CommandInterpreter::SetSaveSessionDirectory(llvm::StringRef path) {
diff --git a/lldb/source/Interpreter/OptionValue.cpp b/lldb/source/Interpreter/OptionValue.cpp
index 218a473db5e6b..dd293047695a9 100644
--- a/lldb/source/Interpreter/OptionValue.cpp
+++ b/lldb/source/Interpreter/OptionValue.cpp
@@ -296,14 +296,14 @@ bool OptionValue::SetEnumerationValue(int64_t value) {
return false;
}
-FileSpec OptionValue::GetFileSpecValue() const {
+std::optional<FileSpec> OptionValue::GetFileSpecValue() const {
const OptionValueFileSpec *option_value = GetAsFileSpec();
if (option_value)
return option_value->GetCurrentValue();
- return FileSpec();
+ return {};
}
-bool OptionValue::SetFileSpecValue(const FileSpec &file_spec) {
+bool OptionValue::SetFileSpecValue(FileSpec file_spec) {
OptionValueFileSpec *option_value = GetAsFileSpec();
if (option_value) {
option_value->SetCurrentValue(file_spec, false);
diff --git a/lldb/source/Interpreter/OptionValueProperties.cpp b/lldb/source/Interpreter/OptionValueProperties.cpp
index fdf5500d53c69..dafe398f9c8eb 100644
--- a/lldb/source/Interpreter/OptionValueProperties.cpp
+++ b/lldb/source/Interpreter/OptionValueProperties.cpp
@@ -287,29 +287,6 @@ OptionValueProperties::GetPropertyAtIndexAsOptionValueFileSpec(
return nullptr;
}
-FileSpec OptionValueProperties::GetPropertyAtIndexAsFileSpec(
- uint32_t idx, const ExecutionContext *exe_ctx) const {
- const Property *property = GetPropertyAtIndex(idx, exe_ctx);
- if (property) {
- OptionValue *value = property->GetValue().get();
- if (value)
- return value->GetFileSpecValue();
- }
- return FileSpec();
-}
-
-bool OptionValueProperties::SetPropertyAtIndexAsFileSpec(
- uint32_t idx, const FileSpec &new_file_spec,
- const ExecutionContext *exe_ctx) {
- const Property *property = GetPropertyAtIndex(idx, exe_ctx);
- if (property) {
- OptionValue *value = property->GetValue().get();
- if (value)
- return value->SetFileSpecValue(new_file_spec);
- }
- return false;
-}
-
OptionValueSInt64 *OptionValueProperties::GetPropertyAtIndexAsOptionValueSInt64(
uint32_t idx, const ExecutionContext *exe_ctx) const {
const Property *property = GetPropertyAtIndex(idx, exe_ctx);
diff --git a/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp b/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
index b374719992c01..6e94ab51354c7 100644
--- a/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
+++ b/lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
@@ -45,7 +45,7 @@ class PluginProperties : public Properties {
}
FileSpec GetEmulatorPath() {
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(ePropertyEmulatorPath);
+ return GetPropertyAtIndexAs<FileSpec>(ePropertyEmulatorPath, {});
}
Args GetEmulatorArgs() {
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index f3754f8c238c9..272cd4be3c671 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -153,7 +153,7 @@ class PluginProperties : public Properties {
FileSpec GetTargetDefinitionFile() const {
const uint32_t idx = ePropertyTargetDefinitionFile;
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(idx);
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
bool GetUseSVR4() const {
diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp
index 92c06dde12a92..f81f2353d867f 100644
--- a/lldb/source/Target/Platform.cpp
+++ b/lldb/source/Target/Platform.cpp
@@ -108,13 +108,12 @@ bool PlatformProperties::SetUseModuleCache(bool use_module_cache) {
}
FileSpec PlatformProperties::GetModuleCacheDirectory() const {
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(
- ePropertyModuleCacheDirectory);
+ return GetPropertyAtIndexAs<FileSpec>(ePropertyModuleCacheDirectory, {});
}
bool PlatformProperties::SetModuleCacheDirectory(const FileSpec &dir_spec) {
- return m_collection_sp->SetPropertyAtIndexAsFileSpec(
- ePropertyModuleCacheDirectory, dir_spec);
+ return m_collection_sp->SetPropertyAtIndex(ePropertyModuleCacheDirectory,
+ dir_spec);
}
void PlatformProperties::SetDefaultModuleCacheDirectory(
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index f53cadf28f783..0f7c15a75bbf4 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -214,7 +214,7 @@ void ProcessProperties::SetExtraStartupCommands(const Args &args) {
FileSpec ProcessProperties::GetPythonOSPluginPath() const {
const uint32_t idx = ePropertyPythonOSPluginPath;
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(idx);
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
uint32_t ProcessProperties::GetVirtualAddressableBits() const {
@@ -229,7 +229,7 @@ void ProcessProperties::SetVirtualAddressableBits(uint32_t bits) {
}
void ProcessProperties::SetPythonOSPluginPath(const FileSpec &file) {
const uint32_t idx = ePropertyPythonOSPluginPath;
- m_collection_sp->SetPropertyAtIndexAsFileSpec(idx, file);
+ SetPropertyAtIndex(idx, file);
}
bool ProcessProperties::GetIgnoreBreakpointsInExpressions() const {
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 7a61fa966a9f6..1290281d8c274 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -4452,7 +4452,7 @@ bool TargetProperties::GetEnableNotifyAboutFixIts() const {
FileSpec TargetProperties::GetSaveJITObjectsDir() const {
const uint32_t idx = ePropertySaveObjectsDir;
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(idx);
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
void TargetProperties::CheckJITObjectsDir() {
@@ -4529,7 +4529,7 @@ uint32_t TargetProperties::GetMaximumMemReadSize() const {
FileSpec TargetProperties::GetStandardInputPath() const {
const uint32_t idx = ePropertyInputPath;
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(idx);
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
void TargetProperties::SetStandardInputPath(llvm::StringRef path) {
@@ -4539,7 +4539,7 @@ void TargetProperties::SetStandardInputPath(llvm::StringRef path) {
FileSpec TargetProperties::GetStandardOutputPath() const {
const uint32_t idx = ePropertyOutputPath;
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(idx);
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
void TargetProperties::SetStandardOutputPath(llvm::StringRef path) {
@@ -4549,7 +4549,7 @@ void TargetProperties::SetStandardOutputPath(llvm::StringRef path) {
FileSpec TargetProperties::GetStandardErrorPath() const {
const uint32_t idx = ePropertyErrorPath;
- return m_collection_sp->GetPropertyAtIndexAsFileSpec(idx);
+ return GetPropertyAtIndexAs<FileSpec>(idx, {});
}
void TargetProperties::SetStandardErrorPath(llvm::StringRef path) {
More information about the lldb-commits
mailing list