diff options
author | Enrico Granata <egranata@apple.com> | 2012-10-10 22:54:17 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2012-10-10 22:54:17 +0000 |
commit | 10de09044e1de695faab21fecaca51352563f04e (patch) | |
tree | 7233cdc1031ddedb9168a7183fffd0ac0e6a13af /lldb/scripts/Python/interface | |
parent | a529f8c9c285cf1ad6614bf5cd0171bf3b12cd57 (diff) | |
download | bcm5719-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.i | 62 | ||||
-rw-r--r-- | lldb/scripts/Python/interface/SBValue.i | 3 |
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 (); |