• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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