aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Core/ValueObjectSyntheticFilter.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Core/ValueObjectSyntheticFilter.h')
-rw-r--r--include/lldb/Core/ValueObjectSyntheticFilter.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/lldb/Core/ValueObjectSyntheticFilter.h b/include/lldb/Core/ValueObjectSyntheticFilter.h
index 05bc3781a3cc..38d9f7b5ade1 100644
--- a/include/lldb/Core/ValueObjectSyntheticFilter.h
+++ b/include/lldb/Core/ValueObjectSyntheticFilter.h
@@ -17,6 +17,7 @@
// Other libraries and framework includes
// Project includes
#include "lldb/Core/ThreadSafeSTLMap.h"
+#include "lldb/Core/ThreadSafeSTLVector.h"
#include "lldb/Core/ValueObject.h"
namespace lldb_private {
@@ -147,6 +148,12 @@ public:
SetPreferredDisplayLanguage (lldb::LanguageType);
bool
+ IsSyntheticChildrenGenerated () override;
+
+ void
+ SetSyntheticChildrenGenerated (bool b) override;
+
+ bool
GetDeclaration(Declaration &decl) override;
uint64_t
@@ -177,6 +184,7 @@ protected:
typedef ThreadSafeSTLMap<uint32_t, ValueObject*> ByIndexMap;
typedef ThreadSafeSTLMap<const char*, uint32_t> NameToIndexMap;
+ typedef ThreadSafeSTLVector<lldb::ValueObjectSP> SyntheticChildrenCache;
typedef ByIndexMap::iterator ByIndexIterator;
typedef NameToIndexMap::iterator NameToIndexIterator;
@@ -184,6 +192,7 @@ protected:
ByIndexMap m_children_byindex;
NameToIndexMap m_name_toindex;
uint32_t m_synthetic_children_count; // FIXME use the ValueObject's ChildrenManager instead of a special purpose solution
+ SyntheticChildrenCache m_synthetic_children_cache;
ConstString m_parent_type_name;