diff options
author | Dave Lee <davelee.com@gmail.com> | 2023-05-26 21:19:10 -0700 |
---|---|---|
committer | Dave Lee <davelee.com@gmail.com> | 2023-05-31 08:08:40 -0700 |
commit | cb463c34dd4c3ad2ac6c13f98edcf684a3fcbe38 (patch) | |
tree | 5cebbd261ee7e551288ae5b2abc5d5864d6c141b /lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp | |
parent | e0df106818ccb90dc46c5296ed5ef2eda75564ff (diff) | |
download | llvm-cb463c34dd4c3ad2ac6c13f98edcf684a3fcbe38.zip llvm-cb463c34dd4c3ad2ac6c13f98edcf684a3fcbe38.tar.gz llvm-cb463c34dd4c3ad2ac6c13f98edcf684a3fcbe38.tar.bz2 |
[lldb] Take StringRef name in GetChildMemberWithName (NFC)
`GetChildMemberWithName` does not need a `ConstString`. This change makes the function
take a `StringRef` instead, which alleviates the need for callers to construct a
`ConstString`. I don't expect this change to improve performance, only ergonomics.
This is in support of Alex's effort to replace `ConstString` where appropriate.
There are related `ValueObject` functions that can also be changed, if this is accepted.
Differential Revision: https://reviews.llvm.org/D151615
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp')
-rw-r--r-- | lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp index 21dbd64..6a29abe 100644 --- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp +++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp @@ -211,27 +211,23 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd:: size_t lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd:: CalculateNumChildren() { - static ConstString g_pair3_("__pair3_"); - static ConstString g_first_("__first_"); - static ConstString g_value_("__value_"); - if (m_count != UINT32_MAX) return m_count; if (m_tree == nullptr) return 0; - ValueObjectSP m_item(m_tree->GetChildMemberWithName(g_pair3_, true)); + ValueObjectSP m_item(m_tree->GetChildMemberWithName("__pair3_", true)); if (!m_item) return 0; switch (m_item->GetCompilerType().GetNumDirectBaseClasses()) { case 1: // Assume a pre llvm r300140 __compressed_pair implementation: - m_item = m_item->GetChildMemberWithName(g_first_, true); + m_item = m_item->GetChildMemberWithName("__first_", true); break; case 2: { // Assume a post llvm r300140 __compressed_pair implementation: ValueObjectSP first_elem_parent = m_item->GetChildAtIndex(0, true); - m_item = first_elem_parent->GetChildMemberWithName(g_value_, true); + m_item = first_elem_parent->GetChildMemberWithName("__value_", true); break; } default: @@ -245,7 +241,6 @@ size_t lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd:: } bool lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetDataType() { - static ConstString g_value_("__value_"); static ConstString g_tree_("__tree_"); static ConstString g_pair3("__pair3_"); @@ -257,7 +252,7 @@ bool lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetDataType() { deref = m_root_node->Dereference(error); if (!deref || error.Fail()) return false; - deref = deref->GetChildMemberWithName(g_value_, true); + deref = deref->GetChildMemberWithName("__value_", true); if (deref) { m_element_type = deref->GetCompilerType(); return true; @@ -329,7 +324,6 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex( size_t idx) { static ConstString g_cc_("__cc_"), g_cc("__cc"); static ConstString g_nc("__nc"); - static ConstString g_value_("__value_"); if (idx >= CalculateNumChildren()) return lldb::ValueObjectSP(); @@ -364,7 +358,7 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex( return lldb::ValueObjectSP(); } GetValueOffset(iterated_sp); - auto child_sp = iterated_sp->GetChildMemberWithName(g_value_, true); + auto child_sp = iterated_sp->GetChildMemberWithName("__value_", true); if (child_sp) iterated_sp = child_sp; else @@ -425,15 +419,13 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex( } bool lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::Update() { - static ConstString g_tree_("__tree_"); - static ConstString g_begin_node_("__begin_node_"); m_count = UINT32_MAX; m_tree = m_root_node = nullptr; m_iterators.clear(); - m_tree = m_backend.GetChildMemberWithName(g_tree_, true).get(); + m_tree = m_backend.GetChildMemberWithName("__tree_", true).get(); if (!m_tree) return false; - m_root_node = m_tree->GetChildMemberWithName(g_begin_node_, true).get(); + m_root_node = m_tree->GetChildMemberWithName("__begin_node_", true).get(); return false; } |