summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/include/lldb/Core/ValueObjectSyntheticFilter.h14
-rw-r--r--lldb/source/Core/ValueObjectSyntheticFilter.cpp6
2 files changed, 16 insertions, 4 deletions
diff --git a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
index 947f1af230a..296d44b530c 100644
--- a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
+++ b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
@@ -83,7 +83,19 @@ public:
virtual bool
IsDynamic ()
{
- return false;
+ if (m_parent)
+ return m_parent->IsDynamic();
+ else
+ return false;
+ }
+
+ virtual lldb::DynamicValueType
+ GetDynamicValueType ()
+ {
+ if (m_parent)
+ return m_parent->GetDynamicValueType();
+ else
+ return lldb::eNoDynamicValues;
}
virtual ValueObject *
diff --git a/lldb/source/Core/ValueObjectSyntheticFilter.cpp b/lldb/source/Core/ValueObjectSyntheticFilter.cpp
index cb3fcfef1b8..c8edffab898 100644
--- a/lldb/source/Core/ValueObjectSyntheticFilter.cpp
+++ b/lldb/source/Core/ValueObjectSyntheticFilter.cpp
@@ -115,9 +115,9 @@ ValueObjectSynthetic::GetDynamicValue (lldb::DynamicValueType valueType)
{
if (!m_parent)
return lldb::ValueObjectSP();
- if (m_parent->IsDynamic() && m_parent->GetDynamicValueType() == valueType)
- return m_parent->GetSP();
- return ValueObject::GetDynamicValue(valueType);
+ if (IsDynamic() && GetDynamicValueType() == valueType)
+ return GetSP();
+ return m_parent->GetDynamicValue(valueType);
}
bool
OpenPOWER on IntegriCloud