[Lldb-commits] [lldb] r219352 - Add a SyntheticValueProviderFrontEnd that serves internally the same purpose as lldb.SBSyntheticValueProvider serves on the API layer

Enrico Granata egranata at apple.com
Wed Oct 8 15:53:02 PDT 2014


Author: enrico
Date: Wed Oct  8 17:53:01 2014
New Revision: 219352

URL: http://llvm.org/viewvc/llvm-project?rev=219352&view=rev
Log:
Add a SyntheticValueProviderFrontEnd that serves internally the same purpose as lldb.SBSyntheticValueProvider serves on the API layer

Modified:
    lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h

Modified: lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h?rev=219352&r1=219351&r2=219352&view=diff
==============================================================================
--- lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h (original)
+++ lldb/trunk/include/lldb/DataFormatters/TypeSynthetic.h Wed Oct  8 17:53:01 2014
@@ -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:





More information about the lldb-commits mailing list