diff options
author | Enrico Granata <egranata@apple.com> | 2014-10-08 22:53:01 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2014-10-08 22:53:01 +0000 |
commit | f4c1242bd9759bd2371491ad010e8f68f90c81f9 (patch) | |
tree | 2ffff771c30733c2136fbe6d5548dfbb82ebb010 | |
parent | 6c0ee4ece31cc52a993151a0d4ed799d17fbc903 (diff) | |
download | bcm5719-llvm-f4c1242bd9759bd2371491ad010e8f68f90c81f9.tar.gz bcm5719-llvm-f4c1242bd9759bd2371491ad010e8f68f90c81f9.zip |
Add a SyntheticValueProviderFrontEnd that serves internally the same purpose as lldb.SBSyntheticValueProvider serves on the API layer
llvm-svn: 219352
-rw-r--r-- | lldb/include/lldb/DataFormatters/TypeSynthetic.h | 34 |
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: |