diff options
author | Pavel Kosov <kpdev42@gmail.com> | 2023-01-25 10:48:04 +0300 |
---|---|---|
committer | Pavel Kosov <kpdev42@gmail.com> | 2023-01-25 10:48:04 +0300 |
commit | 92f0e4ccafacb61f7de93e7ef5bd4beb02047086 (patch) | |
tree | 3427157f92371f57215fc7e72faf9645a387bea5 /lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp | |
parent | f3e2f26378400dbc785691ec38158ef4019208f8 (diff) | |
download | llvm-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.cpp | 11 |
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: { |