diff --git a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h index 947f1af230a3..296d44b530c2 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 cb3fcfef1b83..c8edffab8983 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