Author: Alex Langford Date: 2023-06-23T10:29:52-07:00 New Revision: 1a397ecffdea64f5a521b4aac1fa4b98723dec22
URL: https://github.com/llvm/llvm-project/commit/1a397ecffdea64f5a521b4aac1fa4b98723dec22 DIFF: https://github.com/llvm/llvm-project/commit/1a397ecffdea64f5a521b4aac1fa4b98723dec22.diff LOG: [lldb][NFCI] Remove use of ConstString from StructuredDataPlugin The use of ConstString in StructuredDataPlugin is unneccessary as fast comparisons are not neeeded for StructuredDataPlugins. Differential Revision: https://reviews.llvm.org/D153482 Added: Modified: lldb/include/lldb/Target/Process.h lldb/include/lldb/Target/StructuredDataPlugin.h lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h lldb/source/Target/Process.cpp lldb/source/Target/StructuredDataPlugin.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h index 907ef50a7a61b..0f9b0c07df9bd 100644 --- a/lldb/include/lldb/Target/Process.h +++ b/lldb/include/lldb/Target/Process.h @@ -2833,7 +2833,7 @@ void PruneThreadPlans(); /// /// virtual void /// HandleArrivalOfStructuredData(Process &process, - /// ConstString type_name, + /// llvm::StringRef type_name, /// const StructuredData::ObjectSP /// &object_sp) /// diff --git a/lldb/include/lldb/Target/StructuredDataPlugin.h b/lldb/include/lldb/Target/StructuredDataPlugin.h index 09241d5281fb4..09111b1390505 100644 --- a/lldb/include/lldb/Target/StructuredDataPlugin.h +++ b/lldb/include/lldb/Target/StructuredDataPlugin.h @@ -64,7 +64,7 @@ class StructuredDataPlugin /// /// \return /// true if the plugin supports the feature; otherwise, false. - virtual bool SupportsStructuredDataType(ConstString type_name) = 0; + virtual bool SupportsStructuredDataType(llvm::StringRef type_name) = 0; /// Handle the arrival of asynchronous structured data from the process. /// @@ -92,7 +92,7 @@ class StructuredDataPlugin /// key named "type" that must be a string value containing the /// structured data type name. virtual void - HandleArrivalOfStructuredData(Process &process, ConstString type_name, + HandleArrivalOfStructuredData(Process &process, llvm::StringRef type_name, const StructuredData::ObjectSP &object_sp) = 0; /// Get a human-readable description of the contents of the data. @@ -124,7 +124,7 @@ class StructuredDataPlugin /// \param[in] type_name /// The name of the feature tag for the asynchronous structured data. /// This is needed for plugins that support more than one feature. - virtual bool GetEnabled(ConstString type_name) const; + virtual bool GetEnabled(llvm::StringRef type_name) const; /// Allow the plugin to do work related to modules that loaded in the /// the corresponding process. diff --git a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp index 611e1506d8581..60e94b89e37e9 100644 --- a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp +++ b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp @@ -875,9 +875,10 @@ class StatusCommand : public CommandObjectParsed { process_sp->GetStructuredDataPlugin(GetDarwinLogTypeName()); stream.Printf("Availability: %s\n", plugin_sp ? "available" : "unavailable"); - llvm::StringRef plugin_name = StructuredDataDarwinLog::GetStaticPluginName(); const bool enabled = - plugin_sp ? plugin_sp->GetEnabled(ConstString(plugin_name)) : false; + plugin_sp ? plugin_sp->GetEnabled( + StructuredDataDarwinLog::GetStaticPluginName()) + : false; stream.Printf("Enabled: %s\n", enabled ? "true" : "false"); } @@ -1057,12 +1058,12 @@ void StructuredDataDarwinLog::Terminate() { // StructuredDataPlugin API bool StructuredDataDarwinLog::SupportsStructuredDataType( - ConstString type_name) { + llvm::StringRef type_name) { return type_name == GetDarwinLogTypeName(); } void StructuredDataDarwinLog::HandleArrivalOfStructuredData( - Process &process, ConstString type_name, + Process &process, llvm::StringRef type_name, const StructuredData::ObjectSP &object_sp) { Log *log = GetLog(LLDBLog::Process); if (log) { @@ -1086,11 +1087,9 @@ void StructuredDataDarwinLog::HandleArrivalOfStructuredData( // Ignore any data that isn't for us. if (type_name != GetDarwinLogTypeName()) { - LLDB_LOGF(log, - "StructuredDataDarwinLog::%s() StructuredData type " - "expected to be %s but was %s, ignoring", - __FUNCTION__, GetDarwinLogTypeName().str().c_str(), - type_name.AsCString()); + LLDB_LOG(log, + "StructuredData type expected to be {0} but was {1}, ignoring", + GetDarwinLogTypeName(), type_name); return; } @@ -1200,11 +1199,10 @@ Status StructuredDataDarwinLog::GetDescription( return error; } -bool StructuredDataDarwinLog::GetEnabled(ConstString type_name) const { - if (type_name.GetStringRef() == GetStaticPluginName()) +bool StructuredDataDarwinLog::GetEnabled(llvm::StringRef type_name) const { + if (type_name == GetStaticPluginName()) return m_is_enabled; - else - return false; + return false; } void StructuredDataDarwinLog::SetEnabled(bool enabled) { diff --git a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h index 308fd82e9b12a..5b9abf3e603f2 100644 --- a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h +++ b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h @@ -50,16 +50,16 @@ class StructuredDataDarwinLog : public StructuredDataPlugin { // StructuredDataPlugin API - bool SupportsStructuredDataType(ConstString type_name) override; + bool SupportsStructuredDataType(llvm::StringRef type_name) override; void HandleArrivalOfStructuredData( - Process &process, ConstString type_name, + Process &process, llvm::StringRef type_name, const StructuredData::ObjectSP &object_sp) override; Status GetDescription(const StructuredData::ObjectSP &object_sp, lldb_private::Stream &stream) override; - bool GetEnabled(ConstString type_name) const override; + bool GetEnabled(llvm::StringRef type_name) const override; void ModulesDidLoad(Process &process, ModuleList &module_list) override; diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index 8542ffe91b56c..246279de086ae 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -6070,7 +6070,7 @@ void Process::MapSupportedStructuredDataPlugins( // For any of the remaining type names, map any that this plugin supports. std::vector<llvm::StringRef> names_to_remove; for (llvm::StringRef type_name : type_names) { - if (plugin_sp->SupportsStructuredDataType(ConstString(type_name))) { + if (plugin_sp->SupportsStructuredDataType(type_name)) { m_structured_data_plugin_map.insert( std::make_pair(type_name, plugin_sp)); names_to_remove.push_back(type_name); @@ -6110,8 +6110,7 @@ bool Process::RouteAsyncStructuredData( } // Route the structured data to the plugin. - find_it->second->HandleArrivalOfStructuredData(*this, ConstString(type_name), - object_sp); + find_it->second->HandleArrivalOfStructuredData(*this, type_name, object_sp); return true; } diff --git a/lldb/source/Target/StructuredDataPlugin.cpp b/lldb/source/Target/StructuredDataPlugin.cpp index 20ed26a1a99a9..1b5894b5df4b6 100644 --- a/lldb/source/Target/StructuredDataPlugin.cpp +++ b/lldb/source/Target/StructuredDataPlugin.cpp @@ -32,7 +32,7 @@ StructuredDataPlugin::StructuredDataPlugin(const ProcessWP &process_wp) StructuredDataPlugin::~StructuredDataPlugin() = default; -bool StructuredDataPlugin::GetEnabled(ConstString type_name) const { +bool StructuredDataPlugin::GetEnabled(llvm::StringRef type_name) const { // By default, plugins are always enabled. Plugin authors should override // this if there is an enabled/disabled state for their plugin. return true; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits