aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp')
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
index 6d24eb0..ec5b320 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
@@ -177,7 +177,7 @@ public:
~LibcxxStdMapSyntheticFrontEnd() override = default;
- uint32_t CalculateNumChildren() override;
+ llvm::Expected<uint32_t> CalculateNumChildren() override;
lldb::ValueObjectSP GetChildAtIndex(uint32_t idx) override;
@@ -209,8 +209,8 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::
Update();
}
-uint32_t lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::
- CalculateNumChildren() {
+llvm::Expected<uint32_t> lldb_private::formatters::
+ LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren() {
if (m_count != UINT32_MAX)
return m_count;
@@ -311,13 +311,13 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex(
uint32_t idx) {
static ConstString g_cc_("__cc_"), g_cc("__cc");
static ConstString g_nc("__nc");
-
- if (idx >= CalculateNumChildren())
+ uint32_t num_children = CalculateNumChildrenIgnoringErrors();
+ if (idx >= num_children)
return lldb::ValueObjectSP();
if (m_tree == nullptr || m_root_node == nullptr)
return lldb::ValueObjectSP();
- MapIterator iterator(m_root_node, CalculateNumChildren());
+ MapIterator iterator(m_root_node, num_children);
const bool need_to_skip = (idx > 0);
size_t actual_advancde = idx;
@@ -382,7 +382,7 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex(
name.Printf("[%" PRIu64 "]", (uint64_t)idx);
auto potential_child_sp = iterated_sp->Clone(ConstString(name.GetString()));
if (potential_child_sp) {
- switch (potential_child_sp->GetNumChildren()) {
+ switch (potential_child_sp->GetNumChildrenIgnoringErrors()) {
case 1: {
auto child0_sp = potential_child_sp->GetChildAtIndex(0);
if (child0_sp &&