diff options
-rw-r--r-- | lldb/source/Core/ValueObjectSyntheticFilter.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lldb/source/Core/ValueObjectSyntheticFilter.cpp b/lldb/source/Core/ValueObjectSyntheticFilter.cpp index b5c29bc5e50..dc85fddbf0d 100644 --- a/lldb/source/Core/ValueObjectSyntheticFilter.cpp +++ b/lldb/source/Core/ValueObjectSyntheticFilter.cpp @@ -19,6 +19,39 @@ using namespace lldb_private; +class DummySyntheticFrontEnd : public SyntheticChildrenFrontEnd +{ +public: + DummySyntheticFrontEnd(ValueObject &backend) : + SyntheticChildrenFrontEnd(backend) + {} + + uint32_t + CalculateNumChildren() + { + return 0; + } + + lldb::ValueObjectSP + GetChildAtIndex (uint32_t idx) + { + return lldb::ValueObjectSP(); + } + + uint32_t + GetIndexOfChildWithName (const ConstString &name) + { + return UINT32_MAX; + } + + bool + Update() + { + return false; + } + +}; + ValueObjectSynthetic::ValueObjectSynthetic (ValueObject &parent, lldb::SyntheticChildrenSP filter) : ValueObject(parent), m_synth_sp(filter), @@ -34,6 +67,8 @@ ValueObjectSynthetic::ValueObjectSynthetic (ValueObject &parent, lldb::Synthetic #else SetName(parent.GetName()); #endif + if (!m_synth_filter_ap.get()) + m_synth_filter_ap.reset(new DummySyntheticFrontEnd(parent)); } ValueObjectSynthetic::~ValueObjectSynthetic() |