<rdar://problem/12462744> Implement a new SBDeclaration class to wrap an lldb_private::Declaration - make a GetDeclaration() API on SBValue to return a declaration. This will only work for vroot variables as they are they only objects for which we currently provide a valid Declaration

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165672 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/interface/SBDeclaration.i b/scripts/Python/interface/SBDeclaration.i
new file mode 100644
index 0000000..a3709ae
--- /dev/null
+++ b/scripts/Python/interface/SBDeclaration.i
@@ -0,0 +1,62 @@
+//===-- SWIG Interface for SBDeclaration --------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace lldb {
+    
+    %feature("docstring",
+    "Specifies an association with a line and column for a variable."
+    ) SBDeclaration;
+    class SBDeclaration
+    {
+        public:
+        
+        SBDeclaration ();
+        
+        SBDeclaration (const lldb::SBDeclaration &rhs);
+        
+        ~SBDeclaration ();
+        
+        bool
+        IsValid () const;
+        
+        lldb::SBFileSpec
+        GetFileSpec () const;
+        
+        uint32_t
+        GetLine () const;
+        
+        uint32_t
+        GetColumn () const;
+        
+        bool
+        GetDescription (lldb::SBStream &description);
+        
+        void
+        SetFileSpec (lldb::SBFileSpec filespec);
+        
+        void
+        SetLine (uint32_t line);
+        
+        void
+        SetColumn (uint32_t column);
+        
+        %pythoncode %{
+            __swig_getmethods__["file"] = GetFileSpec
+            if _newclass: file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
+            
+            __swig_getmethods__["line"] = GetLine
+            if _newclass: ling = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''')
+            
+            __swig_getmethods__["column"] = GetColumn
+            if _newclass: column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''')
+            %}
+        
+    };
+    
+} // namespace lldb