[Lldb-commits] [lldb] [lldb] Remove ConstString from TypeCategory (PR #234026)

Alex Langford via lldb-commits lldb-commits at lists.llvm.org
Tue Oct 20 16:00:04 PDT 2026


https://github.com/bulbazord created https://github.com/llvm/llvm-project/pull/234026

None

>From 008e88f3ab31b21f14f1e8ec16482298a2ebe9e2 Mon Sep 17 00:00:00 2001
From: Alex Langford <alangford at apple.com>
Date: Tue, 20 Oct 2026 15:58:15 -0700
Subject: [PATCH] [lldb] Remove ConstString from TypeCategory

---
 lldb/include/lldb/DataFormatters/TypeCategory.h | 12 ++++++------
 lldb/source/DataFormatters/FormatManager.cpp    |  7 ++++---
 lldb/source/DataFormatters/TypeCategory.cpp     |  6 +++---
 lldb/source/DataFormatters/TypeCategoryMap.cpp  |  4 ++--
 4 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/lldb/include/lldb/DataFormatters/TypeCategory.h b/lldb/include/lldb/DataFormatters/TypeCategory.h
index 79d9a5f5a89805..ff7eea673e4bdb 100644
--- a/lldb/include/lldb/DataFormatters/TypeCategory.h
+++ b/lldb/include/lldb/DataFormatters/TypeCategory.h
@@ -67,10 +67,10 @@ template <typename FormatterImpl> class TieredFormatterContainer {
 
   /// Deletes all formatters registered with the string `name`, in all
   /// subcontainers.
-  bool Delete(ConstString name) {
+  bool Delete(llvm::StringRef name) {
     bool success = false;
     for (auto sc : m_subcontainers)
-      success = sc->Delete(name.GetStringRef().str()) || success;
+      success = sc->Delete(name.str()) || success;
     return success;
   }
 
@@ -189,7 +189,7 @@ class TypeCategoryImpl {
         callback;
   };
 
-  TypeCategoryImpl(IFormatChangeListener *clist, ConstString name);
+  TypeCategoryImpl(IFormatChangeListener *clist, std::string name);
 
   void ForEach(ForEachCallback<TypeFormatImpl> callback) {
     m_format_cont.ForEach(callback.callback);
@@ -332,11 +332,11 @@ class TypeCategoryImpl {
 
   void Clear(FormatCategoryItems items = ALL_ITEM_TYPES);
 
-  bool Delete(ConstString name, FormatCategoryItems items = ALL_ITEM_TYPES);
+  bool Delete(llvm::StringRef name, FormatCategoryItems items = ALL_ITEM_TYPES);
 
   uint32_t GetCount(FormatCategoryItems items = ALL_ITEM_TYPES);
 
-  const char *GetName() { return m_name.GetCString(); }
+  const char *GetName() { return m_name.c_str(); }
 
   size_t GetNumLanguages();
 
@@ -365,7 +365,7 @@ class TypeCategoryImpl {
 
   std::recursive_mutex m_mutex;
 
-  ConstString m_name;
+  std::string m_name;
 
   std::vector<lldb::LanguageType> m_languages;
 
diff --git a/lldb/source/DataFormatters/FormatManager.cpp b/lldb/source/DataFormatters/FormatManager.cpp
index e9f0e51e34149d..c588938a784237 100644
--- a/lldb/source/DataFormatters/FormatManager.cpp
+++ b/lldb/source/DataFormatters/FormatManager.cpp
@@ -412,8 +412,8 @@ void FormatManager::ForEachCategory(TypeCategoryMap::ForEachCallback callback) {
   }
 }
 
-lldb::TypeCategoryImplSP
-FormatManager::GetCategory(ConstString category_name, bool can_create) {
+lldb::TypeCategoryImplSP FormatManager::GetCategory(ConstString category_name,
+                                                    bool can_create) {
   if (!category_name)
     return GetCategory(m_default_category_name);
   lldb::TypeCategoryImplSP category;
@@ -424,7 +424,8 @@ FormatManager::GetCategory(ConstString category_name, bool can_create) {
     return lldb::TypeCategoryImplSP();
 
   m_categories_map.Add(category_name,
-                       std::make_shared<TypeCategoryImpl>(this, category_name));
+                       std::make_shared<TypeCategoryImpl>(
+                           this, category_name.GetStringRef().str()));
   return GetCategory(category_name);
 }
 
diff --git a/lldb/source/DataFormatters/TypeCategory.cpp b/lldb/source/DataFormatters/TypeCategory.cpp
index e59e3a33b88e6b..57e4c128c2f905 100644
--- a/lldb/source/DataFormatters/TypeCategory.cpp
+++ b/lldb/source/DataFormatters/TypeCategory.cpp
@@ -14,10 +14,10 @@ using namespace lldb;
 using namespace lldb_private;
 
 TypeCategoryImpl::TypeCategoryImpl(IFormatChangeListener *clist,
-                                   ConstString name)
+                                   std::string name)
     : m_format_cont(clist), m_summary_cont(clist), m_filter_cont(clist),
       m_synth_cont(clist), m_enabled(false), m_change_listener(clist),
-      m_mutex(), m_name(name), m_languages() {}
+      m_mutex(), m_name(std::move(name)), m_languages() {}
 
 static bool IsApplicable(lldb::LanguageType category_lang,
                          lldb::LanguageType valobj_lang) {
@@ -148,7 +148,7 @@ void TypeCategoryImpl::Clear(FormatCategoryItems items) {
     m_synth_cont.Clear();
 }
 
-bool TypeCategoryImpl::Delete(ConstString name, FormatCategoryItems items) {
+bool TypeCategoryImpl::Delete(llvm::StringRef name, FormatCategoryItems items) {
   bool success = false;
 
   if (items & eFormatCategoryItemFormat)
diff --git a/lldb/source/DataFormatters/TypeCategoryMap.cpp b/lldb/source/DataFormatters/TypeCategoryMap.cpp
index fa2c43ea2dc13c..609efe8bd0d5f4 100644
--- a/lldb/source/DataFormatters/TypeCategoryMap.cpp
+++ b/lldb/source/DataFormatters/TypeCategoryMap.cpp
@@ -18,8 +18,8 @@ using namespace lldb_private;
 TypeCategoryMap::TypeCategoryMap(IFormatChangeListener *lst)
     : m_map_mutex(), listener(lst), m_map(), m_active_categories() {
   constexpr llvm::StringRef default_category_name("default");
-  lldb::TypeCategoryImplSP default_sp = std::make_shared<TypeCategoryImpl>(
-      listener, ConstString(default_category_name));
+  lldb::TypeCategoryImplSP default_sp =
+      std::make_shared<TypeCategoryImpl>(listener, default_category_name.str());
   Add(default_category_name, default_sp);
   Enable(default_category_name, First);
 }



More information about the lldb-commits mailing list