1 //===-- SWIG Interface for SBTypeSynthetic-------------------------*- 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 summary that can be associated to one or more types.") SBTypeSynthetic;
13 
14     class SBTypeSynthetic
15     {
16     public:
17 
18         SBTypeSynthetic();
19 
20         static lldb::SBTypeSynthetic
21         CreateWithClassName (const char* data, uint32_t options = 0);
22 
23         static lldb::SBTypeSynthetic
24         CreateWithScriptCode (const char* data, uint32_t options = 0);
25 
26         SBTypeSynthetic (const lldb::SBTypeSynthetic &rhs);
27 
28         ~SBTypeSynthetic ();
29 
30         bool
31         IsValid() const;
32 
33         explicit operator bool() const;
34 
35         bool
36         IsEqualTo (lldb::SBTypeSynthetic &rhs);
37 
38         bool
39         IsClassCode();
40 
41         const char*
42         GetData ();
43 
44         void
45         SetClassName (const char* data);
46 
47         void
48         SetClassCode (const char* data);
49 
50         uint32_t
51         GetOptions ();
52 
53         void
54         SetOptions (uint32_t);
55 
56         bool
57         GetDescription (lldb::SBStream &description,
58                         lldb::DescriptionLevel description_level);
59 
60         bool
61         operator == (lldb::SBTypeSynthetic &rhs);
62 
63         bool
64         operator != (lldb::SBTypeSynthetic &rhs);
65 
66         STRING_EXTENSION_LEVEL(SBTypeSynthetic, lldb::eDescriptionLevelBrief)
67 
68 #ifdef SWIGPYTHON
69         %pythoncode %{
70             options = property(GetOptions, SetOptions)
71             contains_code = property(IsClassCode, None)
72             synthetic_data = property(GetData, None)
73         %}
74 #endif
75 
76     };
77 
78 } // namespace lldb
79