summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python/interface
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2012-10-10 22:54:17 +0000
committerEnrico Granata <egranata@apple.com>2012-10-10 22:54:17 +0000
commit10de09044e1de695faab21fecaca51352563f04e (patch)
tree7233cdc1031ddedb9168a7183fffd0ac0e6a13af /lldb/scripts/Python/interface
parenta529f8c9c285cf1ad6614bf5cd0171bf3b12cd57 (diff)
downloadbcm5719-llvm-10de09044e1de695faab21fecaca51352563f04e.tar.gz
bcm5719-llvm-10de09044e1de695faab21fecaca51352563f04e.zip
<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
llvm-svn: 165672
Diffstat (limited to 'lldb/scripts/Python/interface')
-rw-r--r--lldb/scripts/Python/interface/SBDeclaration.i62
-rw-r--r--lldb/scripts/Python/interface/SBValue.i3
2 files changed, 65 insertions, 0 deletions
diff --git a/lldb/scripts/Python/interface/SBDeclaration.i b/lldb/scripts/Python/interface/SBDeclaration.i
new file mode 100644
index 00000000000..a3709aef9e1
--- /dev/null
+++ b/lldb/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
diff --git a/lldb/scripts/Python/interface/SBValue.i b/lldb/scripts/Python/interface/SBValue.i
index c00276b76ab..e316637f9e6 100644
--- a/lldb/scripts/Python/interface/SBValue.i
+++ b/lldb/scripts/Python/interface/SBValue.i
@@ -281,6 +281,9 @@ public:
lldb::SBValue
GetValueForExpressionPath(const char* expr_path);
+ lldb::SBDeclaration
+ GetDeclaration ();
+
uint32_t
GetNumChildren ();
OpenPOWER on IntegriCloud