aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
diff options
context:
space:
mode:
authorPavel Kosov <kpdev42@gmail.com>2023-01-25 10:48:04 +0300
committerPavel Kosov <kpdev42@gmail.com>2023-01-25 10:48:04 +0300
commit92f0e4ccafacb61f7de93e7ef5bd4beb02047086 (patch)
tree3427157f92371f57215fc7e72faf9645a387bea5 /lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
parentf3e2f26378400dbc785691ec38158ef4019208f8 (diff)
downloadllvm-92f0e4ccafacb61f7de93e7ef5bd4beb02047086.zip
llvm-92f0e4ccafacb61f7de93e7ef5bd4beb02047086.tar.gz
llvm-92f0e4ccafacb61f7de93e7ef5bd4beb02047086.tar.bz2
[LLDB] Fixes summary formatter for libc++ map allowing modification of contained value
Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D140624
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp')
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp11
1 files changed, 1 insertions, 10 deletions
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
index bf6c65c..21dbd64 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
@@ -397,18 +397,9 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex(
// at this point we have a valid
// we need to copy current_sp into a new object otherwise we will end up with
// all items named __value_
- DataExtractor data;
- Status error;
- iterated_sp->GetData(data, error);
- if (error.Fail()) {
- m_tree = nullptr;
- return lldb::ValueObjectSP();
- }
StreamString name;
name.Printf("[%" PRIu64 "]", (uint64_t)idx);
- auto potential_child_sp = CreateValueObjectFromData(
- name.GetString(), data, m_backend.GetExecutionContextRef(),
- m_element_type);
+ auto potential_child_sp = iterated_sp->Clone(ConstString(name.GetString()));
if (potential_child_sp) {
switch (potential_child_sp->GetNumChildren()) {
case 1: {