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
9namespace 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