ValueObjectSynthetic could be wrapping a ValueObjectDynamic. In that case, we want...
authorEnrico Granata <egranata@apple.com>
Tue, 19 Feb 2013 22:03:00 +0000 (22:03 +0000)
committerEnrico Granata <egranata@apple.com>
Tue, 19 Feb 2013 22:03:00 +0000 (22:03 +0000)
llvm-svn: 175563

lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
lldb/source/Core/ValueObjectSyntheticFilter.cpp

index 947f1af..296d44b 100644 (file)
@@ -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 *
index cb3fcfe..c8edffa 100644 (file)
@@ -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