diff options
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus')
-rw-r--r-- | lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp | 32 |
1 files changed, 5 insertions, 27 deletions
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp index 673e284402c..d3d78e62dba 100644 --- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp +++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp @@ -15,25 +15,11 @@ using namespace lldb_private::formatters; bool lldb_private::formatters::LibCxxAtomicSummaryProvider( ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options) { + static ConstString g___a_("__a_"); - ValueObjectSP non_sythetic = valobj.GetNonSyntheticValue(); - if (!non_sythetic) - return false; - - ValueObjectSP index_zero = non_sythetic->GetChildAtIndex(0, true); - if (!index_zero) - return false; - - ValueObjectSP member__a_ = - index_zero->GetChildMemberWithName(ConstString("__a_"), true); - if (!member__a_) - return false; - - if (ValueObjectSP member__a_value = - member__a_->GetChildMemberWithName(ConstString("__a_value"), true)) { + if (ValueObjectSP child = valobj.GetChildMemberWithName(g___a_, true)) { std::string summary; - if (member__a_value->GetSummaryAsCString(summary, options) && - summary.size() > 0) { + if (child->GetSummaryAsCString(summary, options) && summary.size() > 0) { stream.Printf("%s", summary.c_str()); return true; } @@ -73,17 +59,9 @@ lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd:: : SyntheticChildrenFrontEnd(*valobj_sp), m_real_child(nullptr) {} bool lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd::Update() { - ValueObjectSP index_zero = m_backend.GetChildAtIndex(0, true); - if (!index_zero) - return false; - - ValueObjectSP member__a_ = - index_zero->GetChildMemberWithName(ConstString("__a_"), true); - if (!member__a_) - return false; + static ConstString g___a_("__a_"); - m_real_child = - member__a_->GetChildMemberWithName(ConstString("__a_value"), true).get(); + m_real_child = m_backend.GetChildMemberWithName(g___a_, true).get(); return false; } |