diff options
Diffstat (limited to 'scripts/interface/SBSymbol.i')
-rw-r--r-- | scripts/interface/SBSymbol.i | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/scripts/interface/SBSymbol.i b/scripts/interface/SBSymbol.i new file mode 100644 index 0000000000000..b6717055e486a --- /dev/null +++ b/scripts/interface/SBSymbol.i @@ -0,0 +1,110 @@ +//===-- 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 * + GetDisplayName() 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 |