]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - scripts/interface/SBSymbol.i
Vendor import of lldb release_50 branch r309439:
[FreeBSD/FreeBSD.git] / scripts / interface / SBSymbol.i
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 retrieved 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     GetDisplayName() const;
37     
38     const char *
39     GetMangledName () const;
40
41     lldb::SBInstructionList
42     GetInstructions (lldb::SBTarget target);
43
44     lldb::SBInstructionList
45     GetInstructions (lldb::SBTarget target, const char *flavor_string);
46
47     SBAddress
48     GetStartAddress ();
49     
50     SBAddress
51     GetEndAddress ();
52     
53     uint32_t
54     GetPrologueByteSize ();
55
56     SymbolType
57     GetType ();
58
59     bool
60     GetDescription (lldb::SBStream &description);
61
62     bool
63     IsExternal();
64
65     bool
66     IsSynthetic();
67
68     bool
69     operator == (const lldb::SBSymbol &rhs) const;
70     
71     bool
72     operator != (const lldb::SBSymbol &rhs) const;
73     
74     %pythoncode %{
75         def get_instructions_from_current_target (self):
76             return self.GetInstructions (target)
77         
78         __swig_getmethods__["name"] = GetName
79         if _newclass: name = property(GetName, None, doc='''A read only property that returns the name for this symbol as a string.''')
80         
81         __swig_getmethods__["mangled"] = GetMangledName
82         if _newclass: mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this symbol as a string.''')
83         
84         __swig_getmethods__["type"] = GetType
85         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.''')
86         
87         __swig_getmethods__["addr"] = GetStartAddress
88         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.''')
89         
90         __swig_getmethods__["end_addr"] = GetEndAddress
91         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.''')
92         
93         __swig_getmethods__["prologue_size"] = GetPrologueByteSize
94         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.''')
95         
96         __swig_getmethods__["instructions"] = get_instructions_from_current_target
97         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.''')
98
99         __swig_getmethods__["external"] = IsExternal
100         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.''')
101
102         __swig_getmethods__["synthetic"] = IsSynthetic
103         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.''')
104
105         
106     %}
107
108 };
109
110 } // namespace lldb