1//===-- SWIG Interface for SBDeclaration --------------------------*- 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
9namespace lldb {
10
11    %feature("docstring",
12    "Specifies an association with a line and column for a variable."
13    ) SBDeclaration;
14    class SBDeclaration
15    {
16        public:
17
18        SBDeclaration ();
19
20        SBDeclaration (const lldb::SBDeclaration &rhs);
21
22        ~SBDeclaration ();
23
24        bool
25        IsValid () const;
26
27        explicit operator bool() const;
28
29        lldb::SBFileSpec
30        GetFileSpec () const;
31
32        uint32_t
33        GetLine () const;
34
35        uint32_t
36        GetColumn () const;
37
38        bool
39        GetDescription (lldb::SBStream &description);
40
41        void
42        SetFileSpec (lldb::SBFileSpec filespec);
43
44        void
45        SetLine (uint32_t line);
46
47        void
48        SetColumn (uint32_t column);
49
50        bool
51        operator == (const lldb::SBDeclaration &rhs) const;
52
53        bool
54        operator != (const lldb::SBDeclaration &rhs) const;
55
56        STRING_EXTENSION(SBDeclaration)
57
58#ifdef SWIGPYTHON
59        %pythoncode %{
60            file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
61            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.''')
62            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.''')
63        %}
64#endif
65    };
66
67} // namespace lldb
68