aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2024-05-22 08:52:33 -0700
committerGitHub <noreply@github.com>2024-05-22 08:52:33 -0700
commitac1dc05b331d35f341631f798673fe8aafdda53d (patch)
tree1df25d2410f91e84be77a03e845461542ec04087 /lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
parent101f977f2c218f4a27f3a04b3b324b61c80570d6 (diff)
downloadllvm-ac1dc05b331d35f341631f798673fe8aafdda53d.zip
llvm-ac1dc05b331d35f341631f798673fe8aafdda53d.tar.gz
llvm-ac1dc05b331d35f341631f798673fe8aafdda53d.tar.bz2
Change GetChildCompilerTypeAtIndex to return Expected (NFC) (#92979)
This change is a general improvement of the internal API. My motivation is to use this in the Swift typesystem plugin.
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 ec5b320..0929d49 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
@@ -295,13 +295,13 @@ void lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetValueOffset(
bool child_is_base_class;
bool child_is_deref_of_parent;
uint64_t language_flags;
- if (tree_node_type
- .GetChildCompilerTypeAtIndex(
- nullptr, 4, true, true, true, child_name, child_byte_size,
- child_byte_offset, child_bitfield_bit_size,
- child_bitfield_bit_offset, child_is_base_class,
- child_is_deref_of_parent, nullptr, language_flags)
- .IsValid())
+ auto child_type =
+ llvm::expectedToStdOptional(tree_node_type.GetChildCompilerTypeAtIndex(
+ nullptr, 4, true, true, true, child_name, child_byte_size,
+ child_byte_offset, child_bitfield_bit_size,
+ child_bitfield_bit_offset, child_is_base_class,
+ child_is_deref_of_parent, nullptr, language_flags));
+ if (child_type && child_type->IsValid())
m_skip_size = (uint32_t)child_byte_offset;
}
}