]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/lldb/bindings/interface/SBLineEntry.i
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / lldb / bindings / interface / SBLineEntry.i
1 //===-- SWIG Interface for SBLineEntry --------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8
9 namespace lldb {
10
11 %feature("docstring",
12 "Specifies an association with a contiguous range of instructions and
13 a source file location. SBCompileUnit contains SBLineEntry(s). For example,
14
15     for lineEntry in compileUnit:
16         print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
17                                     lineEntry.GetLine()))
18         print('start addr: %s' % str(lineEntry.GetStartAddress()))
19         print('end   addr: %s' % str(lineEntry.GetEndAddress()))
20
21 produces:
22
23 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
24 start addr: a.out[0x100000d98]
25 end   addr: a.out[0x100000da3]
26 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
27 start addr: a.out[0x100000da3]
28 end   addr: a.out[0x100000da9]
29 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
30 start addr: a.out[0x100000da9]
31 end   addr: a.out[0x100000db6]
32 line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
33 start addr: a.out[0x100000db6]
34 end   addr: a.out[0x100000dbc]
35 ...
36
37 See also SBCompileUnit."
38 ) SBLineEntry;
39 class SBLineEntry
40 {
41 public:
42
43     SBLineEntry ();
44
45     SBLineEntry (const lldb::SBLineEntry &rhs);
46
47     ~SBLineEntry ();
48
49     lldb::SBAddress
50     GetStartAddress () const;
51
52     lldb::SBAddress
53     GetEndAddress () const;
54
55     bool
56     IsValid () const;
57
58     explicit operator bool() const;
59
60     lldb::SBFileSpec
61     GetFileSpec () const;
62
63     uint32_t
64     GetLine () const;
65
66     uint32_t
67     GetColumn () const;
68
69     bool
70     GetDescription (lldb::SBStream &description);
71
72     void
73     SetFileSpec (lldb::SBFileSpec filespec);
74
75     void
76     SetLine (uint32_t line);
77
78     void
79     SetColumn (uint32_t column);
80
81     bool
82     operator == (const lldb::SBLineEntry &rhs) const;
83
84     bool
85     operator != (const lldb::SBLineEntry &rhs) const;
86
87     STRING_EXTENSION(SBLineEntry)
88
89 #ifdef SWIGPYTHON
90     %pythoncode %{
91         file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
92         line = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''')
93         column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''')
94         addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this line entry.''')
95         end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this line entry.''')
96     %}
97 #endif
98 };
99
100 } // namespace lldb