Home | History | Annotate | Download | only in interface
      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 
     10 namespace lldb {
     11 
     12 %feature("docstring",
     13 "Represents the symbol possibly associated with a stack frame.
     14 SBModule contains SBSymbol(s). SBSymbol can also be retrived from SBFrame.
     15 
     16 See also SBModule and SBFrame."
     17 ) SBSymbol;
     18 class SBSymbol
     19 {
     20 public:
     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