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