blob: a3656972469240df482578d2b50aa27cfdc3373e [file] [log] [blame]
Johnny Chen6d91e0a2011-07-19 01:07:06 +00001//===-- 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 SBAddress
42 GetStartAddress ();
43
44 SBAddress
45 GetEndAddress ();
46
47 uint32_t
48 GetPrologueByteSize ();
49
50 SymbolType
51 GetType ();
52
53 bool
54 GetDescription (lldb::SBStream &description);
Greg Clayton3be42fb2012-04-02 20:08:08 +000055
56 bool
57 IsExternal();
58
59 bool
60 IsSynthetic();
61
Greg Claytonb302dff2012-02-01 08:09:32 +000062 %pythoncode %{
63 def get_instructions_from_current_target (self):
64 return self.GetInstructions (target)
65
66 __swig_getmethods__["name"] = GetName
Greg Clayton2a94be12012-06-29 22:00:42 +000067 if _newclass: name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''')
Greg Claytonb302dff2012-02-01 08:09:32 +000068
69 __swig_getmethods__["mangled"] = GetMangledName
Greg Clayton2a94be12012-06-29 22:00:42 +000070 if _newclass: mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''')
Greg Claytonb302dff2012-02-01 08:09:32 +000071
72 __swig_getmethods__["type"] = GetType
Greg Clayton2a94be12012-06-29 22:00:42 +000073 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.''')
Greg Claytonb302dff2012-02-01 08:09:32 +000074
75 __swig_getmethods__["addr"] = GetStartAddress
Greg Clayton2a94be12012-06-29 22:00:42 +000076 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.''')
Greg Claytonb302dff2012-02-01 08:09:32 +000077
78 __swig_getmethods__["end_addr"] = GetEndAddress
Greg Clayton2a94be12012-06-29 22:00:42 +000079 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.''')
Greg Claytonb302dff2012-02-01 08:09:32 +000080
81 __swig_getmethods__["prologue_size"] = GetPrologueByteSize
Greg Clayton2a94be12012-06-29 22:00:42 +000082 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.''')
Greg Claytonb302dff2012-02-01 08:09:32 +000083
84 __swig_getmethods__["instructions"] = get_instructions_from_current_target
Greg Clayton2a94be12012-06-29 22:00:42 +000085 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.''')
Greg Clayton3be42fb2012-04-02 20:08:08 +000086
87 __swig_getmethods__["external"] = IsExternal
Greg Clayton2a94be12012-06-29 22:00:42 +000088 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.''')
Greg Clayton3be42fb2012-04-02 20:08:08 +000089
90 __swig_getmethods__["synthetic"] = IsSynthetic
Greg Clayton2a94be12012-06-29 22:00:42 +000091 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.''')
Greg Clayton3be42fb2012-04-02 20:08:08 +000092
Greg Claytonb302dff2012-02-01 08:09:32 +000093
94 %}
95
Johnny Chen6d91e0a2011-07-19 01:07:06 +000096};
97
98} // namespace lldb