summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/Core/ValueObjectSyntheticFilter.cpp35
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()
OpenPOWER on IntegriCloud