summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/include/lldb/DataFormatters/TypeSynthetic.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/lldb/include/lldb/DataFormatters/TypeSynthetic.h b/lldb/include/lldb/DataFormatters/TypeSynthetic.h
index 9c4f77cdecb..b7761cd9df4 100644
--- a/lldb/include/lldb/DataFormatters/TypeSynthetic.h
+++ b/lldb/include/lldb/DataFormatters/TypeSynthetic.h
@@ -94,6 +94,40 @@ namespace lldb_private {
DISALLOW_COPY_AND_ASSIGN(SyntheticChildrenFrontEnd);
};
+ class SyntheticValueProviderFrontEnd : public SyntheticChildrenFrontEnd
+ {
+ public:
+ SyntheticValueProviderFrontEnd (ValueObject &backend) :
+ SyntheticChildrenFrontEnd(backend)
+ {}
+
+ virtual
+ ~SyntheticValueProviderFrontEnd ()
+ {
+ }
+
+ virtual size_t
+ CalculateNumChildren () { return 0; }
+
+ virtual lldb::ValueObjectSP
+ GetChildAtIndex (size_t idx) { return nullptr; }
+
+ virtual size_t
+ GetIndexOfChildWithName (const ConstString &name) { return UINT32_MAX; }
+
+ virtual bool
+ Update () { return false; }
+
+ virtual bool
+ MightHaveChildren () { return false; }
+
+ virtual lldb::ValueObjectSP
+ GetSyntheticValue () = 0;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(SyntheticValueProviderFrontEnd);
+ };
+
class SyntheticChildren
{
public:
OpenPOWER on IntegriCloud