Author: Alex Langford
Date: 2026-07-10T17:02:12-07:00
New Revision: 8e955ee22fbd1bd41e8adb9a0c333113824f1dfe

URL: 
https://github.com/llvm/llvm-project/commit/8e955ee22fbd1bd41e8adb9a0c333113824f1dfe
DIFF: 
https://github.com/llvm/llvm-project/commit/8e955ee22fbd1bd41e8adb9a0c333113824f1dfe.diff

LOG: [lldb] TypeCategoryMap: Replace ConstString with StringRef (#208117)

I plan on removing ConstStrings from DataFormatters where possible.
There's a lot of entangled classes in DataFormatters but TypeCategoryMap
feels approachable to start with.

Added: 
    

Modified: 
    lldb/include/lldb/DataFormatters/TypeCategoryMap.h
    lldb/source/DataFormatters/TypeCategoryMap.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/include/lldb/DataFormatters/TypeCategoryMap.h 
b/lldb/include/lldb/DataFormatters/TypeCategoryMap.h
index 26ce0f28cc9dc..d78edd96dc7f1 100644
--- a/lldb/include/lldb/DataFormatters/TypeCategoryMap.h
+++ b/lldb/include/lldb/DataFormatters/TypeCategoryMap.h
@@ -21,6 +21,8 @@
 #include "lldb/DataFormatters/FormattersContainer.h"
 #include "lldb/DataFormatters/TypeCategory.h"
 
+#include "llvm/ADT/StringMap.h"
+
 namespace lldb_private {
 class TypeCategoryMap {
 private:
@@ -28,8 +30,7 @@ class TypeCategoryMap {
   typedef ActiveCategoriesList::iterator ActiveCategoriesIterator;
 
 public:
-  typedef ConstString KeyType;
-  typedef std::map<KeyType, lldb::TypeCategoryImplSP> MapType;
+  typedef llvm::StringMap<lldb::TypeCategoryImplSP> MapType;
   typedef MapType::iterator MapIterator;
   typedef std::function<bool(const lldb::TypeCategoryImplSP &)> 
ForEachCallback;
 
@@ -41,13 +42,13 @@ class TypeCategoryMap {
 
   TypeCategoryMap(IFormatChangeListener *lst);
 
-  void Add(KeyType name, const lldb::TypeCategoryImplSP &entry);
+  void Add(llvm::StringRef name, const lldb::TypeCategoryImplSP &entry);
 
-  bool Delete(KeyType name);
+  bool Delete(llvm::StringRef name);
 
-  bool Enable(KeyType category_name, Position pos = Default);
+  bool Enable(llvm::StringRef category_name, Position pos = Default);
 
-  bool Disable(KeyType category_name);
+  bool Disable(llvm::StringRef category_name);
 
   bool Enable(lldb::TypeCategoryImplSP category, Position pos = Default);
 
@@ -59,7 +60,7 @@ class TypeCategoryMap {
 
   void Clear();
 
-  bool Get(KeyType name, lldb::TypeCategoryImplSP &entry);
+  bool Get(llvm::StringRef name, lldb::TypeCategoryImplSP &entry);
 
   void ForEach(ForEachCallback callback);
 

diff  --git a/lldb/source/DataFormatters/TypeCategoryMap.cpp 
b/lldb/source/DataFormatters/TypeCategoryMap.cpp
index 96971ec70ca19..fa2c43ea2dc13 100644
--- a/lldb/source/DataFormatters/TypeCategoryMap.cpp
+++ b/lldb/source/DataFormatters/TypeCategoryMap.cpp
@@ -17,14 +17,15 @@ using namespace lldb_private;
 
 TypeCategoryMap::TypeCategoryMap(IFormatChangeListener *lst)
     : m_map_mutex(), listener(lst), m_map(), m_active_categories() {
-  ConstString default_cs("default");
-  lldb::TypeCategoryImplSP default_sp =
-      std::make_shared<TypeCategoryImpl>(listener, default_cs);
-  Add(default_cs, default_sp);
-  Enable(default_cs, First);
+  constexpr llvm::StringRef default_category_name("default");
+  lldb::TypeCategoryImplSP default_sp = std::make_shared<TypeCategoryImpl>(
+      listener, ConstString(default_category_name));
+  Add(default_category_name, default_sp);
+  Enable(default_category_name, First);
 }
 
-void TypeCategoryMap::Add(KeyType name, const TypeCategoryImplSP &entry) {
+void TypeCategoryMap::Add(llvm::StringRef name,
+                          const TypeCategoryImplSP &entry) {
   {
     std::lock_guard<std::recursive_mutex> guard(m_map_mutex);
     m_map[name] = entry;
@@ -37,7 +38,7 @@ void TypeCategoryMap::Add(KeyType name, const 
TypeCategoryImplSP &entry) {
     listener->Changed();
 }
 
-bool TypeCategoryMap::Delete(KeyType name) {
+bool TypeCategoryMap::Delete(llvm::StringRef name) {
   {
     std::lock_guard<std::recursive_mutex> guard(m_map_mutex);
     MapIterator iter = m_map.find(name);
@@ -55,7 +56,7 @@ bool TypeCategoryMap::Delete(KeyType name) {
   return true;
 }
 
-bool TypeCategoryMap::Enable(KeyType category_name, Position pos) {
+bool TypeCategoryMap::Enable(llvm::StringRef category_name, Position pos) {
   std::lock_guard<std::recursive_mutex> guard(m_map_mutex);
   TypeCategoryImplSP category;
   if (!Get(category_name, category))
@@ -63,7 +64,7 @@ bool TypeCategoryMap::Enable(KeyType category_name, Position 
pos) {
   return Enable(category, pos);
 }
 
-bool TypeCategoryMap::Disable(KeyType category_name) {
+bool TypeCategoryMap::Disable(llvm::StringRef category_name) {
   std::lock_guard<std::recursive_mutex> guard(m_map_mutex);
   TypeCategoryImplSP category;
   if (!Get(category_name, category))
@@ -149,7 +150,7 @@ void TypeCategoryMap::Clear() {
     listener->Changed();
 }
 
-bool TypeCategoryMap::Get(KeyType name, TypeCategoryImplSP &entry) {
+bool TypeCategoryMap::Get(llvm::StringRef name, TypeCategoryImplSP &entry) {
   std::lock_guard<std::recursive_mutex> guard(m_map_mutex);
   MapIterator iter = m_map.find(name);
   if (iter == m_map.end())


        
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to