aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h')
-rw-r--r--contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h28
1 files changed, 7 insertions, 21 deletions
diff --git a/contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h b/contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h
index e7ee12868512..5e63ef92fac3 100644
--- a/contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h
+++ b/contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h
@@ -221,31 +221,17 @@ public:
}
template <class IntType>
- bool GetItemAtIndexAsInteger(size_t idx, IntType &result) const {
- ObjectSP value_sp = GetItemAtIndex(idx);
- if (value_sp.get()) {
+ std::optional<IntType> GetItemAtIndexAsInteger(size_t idx) const {
+ if (auto item_sp = GetItemAtIndex(idx)) {
if constexpr (std::numeric_limits<IntType>::is_signed) {
- if (auto signed_value = value_sp->GetAsSignedInteger()) {
- result = static_cast<IntType>(signed_value->GetValue());
- return true;
- }
+ if (auto *signed_value = item_sp->GetAsSignedInteger())
+ return static_cast<IntType>(signed_value->GetValue());
} else {
- if (auto unsigned_value = value_sp->GetAsUnsignedInteger()) {
- result = static_cast<IntType>(unsigned_value->GetValue());
- return true;
- }
+ if (auto *unsigned_value = item_sp->GetAsUnsignedInteger())
+ return static_cast<IntType>(unsigned_value->GetValue());
}
}
- return false;
- }
-
- template <class IntType>
- bool GetItemAtIndexAsInteger(size_t idx, IntType &result,
- IntType default_val) const {
- bool success = GetItemAtIndexAsInteger(idx, result);
- if (!success)
- result = default_val;
- return success;
+ return {};
}
std::optional<llvm::StringRef> GetItemAtIndexAsString(size_t idx) const {