xref: /openbsd-src/gnu/llvm/lldb/bindings/interface/SBTypeFormat.i (revision 061da546b983eb767bad15e67af1174fb0bcf31c)
1 //===-- SWIG Interface for SBTypeFormat----------------------------*- 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              "Represents a format that can be associated to one or more types.") SBTypeFormat;
13 
14     class SBTypeFormat
15     {
16     public:
17 
18         SBTypeFormat();
19 
20         SBTypeFormat (lldb::Format format, uint32_t options = 0);
21 
22         SBTypeFormat (const char* type, uint32_t options = 0);
23 
24         SBTypeFormat (const lldb::SBTypeFormat &rhs);
25 
26         ~SBTypeFormat ();
27 
28         bool
29         IsValid() const;
30 
31         explicit operator bool() const;
32 
33         bool
34         IsEqualTo (lldb::SBTypeFormat &rhs);
35 
36         lldb::Format
37         GetFormat ();
38 
39         const char*
40         GetTypeName ();
41 
42         uint32_t
43         GetOptions();
44 
45         void
46         SetFormat (lldb::Format);
47 
48         void
49         SetTypeName (const char*);
50 
51         void
52         SetOptions (uint32_t);
53 
54         bool
55         GetDescription (lldb::SBStream &description,
56                         lldb::DescriptionLevel description_level);
57 
58         bool
59         operator == (lldb::SBTypeFormat &rhs);
60 
61         bool
62         operator != (lldb::SBTypeFormat &rhs);
63 
64         STRING_EXTENSION_LEVEL(SBTypeFormat, lldb::eDescriptionLevelBrief)
65 
66 #ifdef SWIGPYTHON
67         %pythoncode %{
68             format = property(GetFormat, SetFormat)
69             options = property(GetOptions, SetOptions)
70         %}
71 #endif
72 
73     };
74 
75 
76 } // namespace lldb
77 
78