1//===-- SWIG Interface for SBSymbol -----------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10namespace lldb { 11 12%feature("docstring", 13"Represents the symbol possibly associated with a stack frame. 14SBModule contains SBSymbol(s). SBSymbol can also be retrived from SBFrame. 15 16See also SBModule and SBFrame." 17) SBSymbol; 18class SBSymbol 19{ 20public: 21 22 SBSymbol (); 23 24 ~SBSymbol (); 25 26 SBSymbol (const lldb::SBSymbol &rhs); 27 28 bool 29 IsValid () const; 30 31 32 const char * 33 GetName() const; 34 35 const char * 36 GetMangledName () const; 37 38 lldb::SBInstructionList 39 GetInstructions (lldb::SBTarget target); 40 41 lldb::SBInstructionList 42 GetInstructions (lldb::SBTarget target, const char *flavor_string); 43 44 SBAddress 45 GetStartAddress (); 46 47 SBAddress 48 GetEndAddress (); 49 50 uint32_t 51 GetPrologueByteSize (); 52 53 SymbolType 54 GetType (); 55 56 bool 57 GetDescription (lldb::SBStream &description); 58 59 bool 60 IsExternal(); 61 62 bool 63 IsSynthetic(); 64 65 bool 66 operator == (const lldb::SBSymbol &rhs) const; 67 68 bool 69 operator != (const lldb::SBSymbol &rhs) const; 70 71 %pythoncode %{ 72 def get_instructions_from_current_target (self): 73 return self.GetInstructions (target) 74 75 __swig_getmethods__["name"] = GetName 76 if _newclass: name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''') 77 78 __swig_getmethods__["mangled"] = GetMangledName 79 if _newclass: mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''') 80 81 __swig_getmethods__["type"] = GetType 82 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.''') 83 84 __swig_getmethods__["addr"] = GetStartAddress 85 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.''') 86 87 __swig_getmethods__["end_addr"] = GetEndAddress 88 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.''') 89 90 __swig_getmethods__["prologue_size"] = GetPrologueByteSize 91 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.''') 92 93 __swig_getmethods__["instructions"] = get_instructions_from_current_target 94 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.''') 95 96 __swig_getmethods__["external"] = IsExternal 97 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.''') 98 99 __swig_getmethods__["synthetic"] = IsSynthetic 100 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.''') 101 102 103 %} 104 105}; 106 107} // namespace lldb 108