16d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen//===-- SWIG Interface for SBSymbol -----------------------------*- C++ -*-===// 26d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen// 36d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen// The LLVM Compiler Infrastructure 46d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen// 56d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen// This file is distributed under the University of Illinois Open Source 66d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen// License. See LICENSE.TXT for details. 76d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen// 86d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen//===----------------------------------------------------------------------===// 96d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 106d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chennamespace lldb { 116d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 126d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen%feature("docstring", 136d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen"Represents the symbol possibly associated with a stack frame. 146d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny ChenSBModule contains SBSymbol(s). SBSymbol can also be retrived from SBFrame. 156d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 166d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny ChenSee also SBModule and SBFrame." 176d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen) SBSymbol; 186d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chenclass SBSymbol 196d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen{ 206d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chenpublic: 216d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 226d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen SBSymbol (); 236d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 246d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen ~SBSymbol (); 256d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 266d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen SBSymbol (const lldb::SBSymbol &rhs); 276d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 286d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen bool 296d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen IsValid () const; 306d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 316d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 326d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen const char * 336d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetName() const; 346d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 356d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen const char * 366d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetMangledName () const; 376d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 386d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen lldb::SBInstructionList 396d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetInstructions (lldb::SBTarget target); 406d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 417d4083837c5a258375fdc185d464b4ed15759a4bJim Ingham lldb::SBInstructionList 427d4083837c5a258375fdc185d464b4ed15759a4bJim Ingham GetInstructions (lldb::SBTarget target, const char *flavor_string); 437d4083837c5a258375fdc185d464b4ed15759a4bJim Ingham 446d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen SBAddress 456d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetStartAddress (); 466d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 476d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen SBAddress 486d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetEndAddress (); 496d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 506d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen uint32_t 516d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetPrologueByteSize (); 526d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 536d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen SymbolType 546d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetType (); 556d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 566d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen bool 576d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen GetDescription (lldb::SBStream &description); 583be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton 593be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton bool 603be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton IsExternal(); 613be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton 623be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton bool 633be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton IsSynthetic(); 643be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton 650765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata bool 660765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata operator == (const lldb::SBSymbol &rhs) const; 670765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata 680765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata bool 690765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata operator != (const lldb::SBSymbol &rhs) const; 700765e3274aab0551fea7678bee565c7d68e0b786Enrico Granata 71b302dffacdadeef509d28133a4c66299418122f8Greg Clayton %pythoncode %{ 72b302dffacdadeef509d28133a4c66299418122f8Greg Clayton def get_instructions_from_current_target (self): 73b302dffacdadeef509d28133a4c66299418122f8Greg Clayton return self.GetInstructions (target) 74b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 75b302dffacdadeef509d28133a4c66299418122f8Greg Clayton __swig_getmethods__["name"] = GetName 762a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''') 77b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 78b302dffacdadeef509d28133a4c66299418122f8Greg Clayton __swig_getmethods__["mangled"] = GetMangledName 792a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''') 80b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 81b302dffacdadeef509d28133a4c66299418122f8Greg Clayton __swig_getmethods__["type"] = GetType 822a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton 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.''') 83b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 84b302dffacdadeef509d28133a4c66299418122f8Greg Clayton __swig_getmethods__["addr"] = GetStartAddress 852a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton 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.''') 86b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 87b302dffacdadeef509d28133a4c66299418122f8Greg Clayton __swig_getmethods__["end_addr"] = GetEndAddress 882a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton 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.''') 89b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 90b302dffacdadeef509d28133a4c66299418122f8Greg Clayton __swig_getmethods__["prologue_size"] = GetPrologueByteSize 912a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton 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.''') 92b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 93b302dffacdadeef509d28133a4c66299418122f8Greg Clayton __swig_getmethods__["instructions"] = get_instructions_from_current_target 942a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton 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.''') 953be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton 963be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton __swig_getmethods__["external"] = IsExternal 972a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton 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.''') 983be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton 993be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton __swig_getmethods__["synthetic"] = IsSynthetic 1002a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton 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.''') 1013be42fb4ff54e71afe0b9aac83b7fa3068a3d873Greg Clayton 102b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 103b302dffacdadeef509d28133a4c66299418122f8Greg Clayton %} 104b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 1056d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen}; 1066d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen 1076d91e0a095183e02a84b2833c5cbe46e7963e8baJohnny Chen} // namespace lldb 108