diff options
author | Enrico Granata <egranata@apple.com> | 2016-07-08 18:39:36 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2016-07-08 18:39:36 +0000 |
commit | 3b207c66552297f35a3c8045ea979a0f53b08ce1 (patch) | |
tree | 424bcb97bbc03172d8aae7ff8484268cb866c60d /lldb | |
parent | 0561bd5b47b44c0f1f5773e150a2b31f3cf61638 (diff) | |
download | bcm5719-llvm-3b207c66552297f35a3c8045ea979a0f53b08ce1.tar.gz bcm5719-llvm-3b207c66552297f35a3c8045ea979a0f53b08ce1.zip |
Make IsSyntheticChildrenGenerated() virtual so that dynamic and synthetic values can refer back to their parents
llvm-svn: 274901
Diffstat (limited to 'lldb')
-rw-r--r-- | lldb/include/lldb/Core/ValueObject.h | 4 | ||||
-rw-r--r-- | lldb/include/lldb/Core/ValueObjectDynamicValue.h | 6 | ||||
-rw-r--r-- | lldb/include/lldb/Core/ValueObjectSyntheticFilter.h | 6 | ||||
-rw-r--r-- | lldb/source/Core/ValueObjectDynamicValue.cpp | 16 | ||||
-rw-r--r-- | lldb/source/Core/ValueObjectSyntheticFilter.cpp | 16 |
5 files changed, 46 insertions, 2 deletions
diff --git a/lldb/include/lldb/Core/ValueObject.h b/lldb/include/lldb/Core/ValueObject.h index b3f6ff82f3d..bef158feb39 100644 --- a/lldb/include/lldb/Core/ValueObject.h +++ b/lldb/include/lldb/Core/ValueObject.h @@ -793,10 +793,10 @@ public: return false; } - bool + virtual bool IsSyntheticChildrenGenerated (); - void + virtual void SetSyntheticChildrenGenerated (bool b); virtual SymbolContextScope * diff --git a/lldb/include/lldb/Core/ValueObjectDynamicValue.h b/lldb/include/lldb/Core/ValueObjectDynamicValue.h index 80f37f10476..8a045c3b0db 100644 --- a/lldb/include/lldb/Core/ValueObjectDynamicValue.h +++ b/lldb/include/lldb/Core/ValueObjectDynamicValue.h @@ -117,6 +117,12 @@ public: void SetPreferredDisplayLanguage (lldb::LanguageType); + + bool + IsSyntheticChildrenGenerated () override; + + void + SetSyntheticChildrenGenerated (bool b) override; bool GetDeclaration(Declaration &decl) override; diff --git a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h index 3a8068298e2..38d9f7b5ade 100644 --- a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h +++ b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h @@ -148,6 +148,12 @@ public: SetPreferredDisplayLanguage (lldb::LanguageType); bool + IsSyntheticChildrenGenerated () override; + + void + SetSyntheticChildrenGenerated (bool b) override; + + bool GetDeclaration(Declaration &decl) override; uint64_t diff --git a/lldb/source/Core/ValueObjectDynamicValue.cpp b/lldb/source/Core/ValueObjectDynamicValue.cpp index 0ac86a68f19..65deba096d8 100644 --- a/lldb/source/Core/ValueObjectDynamicValue.cpp +++ b/lldb/source/Core/ValueObjectDynamicValue.cpp @@ -419,6 +419,22 @@ ValueObjectDynamicValue::GetPreferredDisplayLanguage () } bool +ValueObjectDynamicValue::IsSyntheticChildrenGenerated () +{ + if (m_parent) + return m_parent->IsSyntheticChildrenGenerated(); + return false; +} + +void +ValueObjectDynamicValue::SetSyntheticChildrenGenerated (bool b) +{ + if (m_parent) + m_parent->SetSyntheticChildrenGenerated(b); + this->ValueObject::SetSyntheticChildrenGenerated(b); +} + +bool ValueObjectDynamicValue::GetDeclaration (Declaration &decl) { if (m_parent) diff --git a/lldb/source/Core/ValueObjectSyntheticFilter.cpp b/lldb/source/Core/ValueObjectSyntheticFilter.cpp index 53e38ecd3fe..f2f233711b9 100644 --- a/lldb/source/Core/ValueObjectSyntheticFilter.cpp +++ b/lldb/source/Core/ValueObjectSyntheticFilter.cpp @@ -417,6 +417,22 @@ ValueObjectSynthetic::GetPreferredDisplayLanguage () } bool +ValueObjectSynthetic::IsSyntheticChildrenGenerated () +{ + if (m_parent) + return m_parent->IsSyntheticChildrenGenerated(); + return false; +} + +void +ValueObjectSynthetic::SetSyntheticChildrenGenerated (bool b) +{ + if (m_parent) + m_parent->SetSyntheticChildrenGenerated(b); + this->ValueObject::SetSyntheticChildrenGenerated(b); +} + +bool ValueObjectSynthetic::GetDeclaration (Declaration &decl) { if (m_parent) |