summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/interface/SBSymbol.i
diff options
context:
space:
mode:
authorBruce Mitchener <bruce.mitchener@gmail.com>2015-04-24 00:38:53 +0000
committerBruce Mitchener <bruce.mitchener@gmail.com>2015-04-24 00:38:53 +0000
commit17d2730ee039692d0ae02ff2cfbea691bf8fcf11 (patch)
tree482f6c3defc09989f23e6bb62859773f2ae63602 /lldb/scripts/interface/SBSymbol.i
parente1a67412cf1df672f9b12b040db390adfcbd6013 (diff)
downloadbcm5719-llvm-17d2730ee039692d0ae02ff2cfbea691bf8fcf11.tar.gz
bcm5719-llvm-17d2730ee039692d0ae02ff2cfbea691bf8fcf11.zip
Start to share SWIG interface files between languages.
Summary: Move scripts/Python/interface to scripts/interface so that we can start making iterative improvements towards sharing the interface files between multiple languages (each of which would have their own directory as now). Test Plan: Build and see. Reviewers: zturner, emaste, clayborg Reviewed By: clayborg Subscribers: mjsabby, lldb-commits Differential Revision: http://reviews.llvm.org/D9212 llvm-svn: 235676
Diffstat (limited to 'lldb/scripts/interface/SBSymbol.i')
-rw-r--r--lldb/scripts/interface/SBSymbol.i107
1 files changed, 107 insertions, 0 deletions
diff --git a/lldb/scripts/interface/SBSymbol.i b/lldb/scripts/interface/SBSymbol.i
new file mode 100644
index 00000000000..f6db14c0ee5
--- /dev/null
+++ b/lldb/scripts/interface/SBSymbol.i
@@ -0,0 +1,107 @@
+//===-- SWIG Interface for SBSymbol -----------------------------*- 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",
+"Represents the symbol possibly associated with a stack frame.
+SBModule contains SBSymbol(s). SBSymbol can also be retrived from SBFrame.
+
+See also SBModule and SBFrame."
+) SBSymbol;
+class SBSymbol
+{
+public:
+
+ SBSymbol ();
+
+ ~SBSymbol ();
+
+ SBSymbol (const lldb::SBSymbol &rhs);
+
+ bool
+ IsValid () const;
+
+
+ const char *
+ GetName() const;
+
+ const char *
+ GetMangledName () const;
+
+ lldb::SBInstructionList
+ GetInstructions (lldb::SBTarget target);
+
+ lldb::SBInstructionList
+ GetInstructions (lldb::SBTarget target, const char *flavor_string);
+
+ SBAddress
+ GetStartAddress ();
+
+ SBAddress
+ GetEndAddress ();
+
+ uint32_t
+ GetPrologueByteSize ();
+
+ SymbolType
+ GetType ();
+
+ bool
+ GetDescription (lldb::SBStream &description);
+
+ bool
+ IsExternal();
+
+ bool
+ IsSynthetic();
+
+ bool
+ operator == (const lldb::SBSymbol &rhs) const;
+
+ bool
+ operator != (const lldb::SBSymbol &rhs) const;
+
+ %pythoncode %{
+ def get_instructions_from_current_target (self):
+ return self.GetInstructions (target)
+
+ __swig_getmethods__["name"] = GetName
+ if _newclass: name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''')
+
+ __swig_getmethods__["mangled"] = GetMangledName
+ if _newclass: mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''')
+
+ __swig_getmethods__["type"] = GetType
+ if _newclass: type = property(GetType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eSymbolType") that represents the type of this symbol.''')
+
+ __swig_getmethods__["addr"] = GetStartAddress
+ if _newclass: addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this symbol.''')
+
+ __swig_getmethods__["end_addr"] = GetEndAddress
+ if _newclass: end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this symbol.''')
+
+ __swig_getmethods__["prologue_size"] = GetPrologueByteSize
+ if _newclass: prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''')
+
+ __swig_getmethods__["instructions"] = get_instructions_from_current_target
+ if _newclass: instructions = property(get_instructions_from_current_target, None, doc='''A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this symbol.''')
+
+ __swig_getmethods__["external"] = IsExternal
+ if _newclass: external = property(IsExternal, None, doc='''A read only property that returns a boolean value that indicates if this symbol is externally visiable (exported) from the module that contains it.''')
+
+ __swig_getmethods__["synthetic"] = IsSynthetic
+ if _newclass: synthetic = property(IsSynthetic, None, doc='''A read only property that returns a boolean value that indicates if this symbol was synthetically created from information in module that contains it.''')
+
+
+ %}
+
+};
+
+} // namespace lldb
OpenPOWER on IntegriCloud