1//===-- SWIG Interface for SBTypeSummary---------------------------*- 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    class SBTypeSummaryOptions
11    {
12    public:
13        SBTypeSummaryOptions();
14
15        SBTypeSummaryOptions (const lldb::SBTypeSummaryOptions &rhs);
16
17        ~SBTypeSummaryOptions ();
18
19        bool
20        IsValid ();
21
22        explicit operator bool() const;
23
24        lldb::LanguageType
25        GetLanguage ();
26
27        lldb::TypeSummaryCapping
28        GetCapping ();
29
30        void
31        SetLanguage (lldb::LanguageType);
32
33        void
34        SetCapping (lldb::TypeSummaryCapping);
35    };
36
37    %feature("docstring",
38    "Represents a summary that can be associated to one or more types.") SBTypeSummary;
39
40    class SBTypeSummary
41    {
42    public:
43
44        SBTypeSummary();
45
46        static SBTypeSummary
47        CreateWithSummaryString (const char* data, uint32_t options = 0);
48
49        static SBTypeSummary
50        CreateWithFunctionName (const char* data, uint32_t options = 0);
51
52        static SBTypeSummary
53        CreateWithScriptCode (const char* data, uint32_t options = 0);
54
55        SBTypeSummary (const lldb::SBTypeSummary &rhs);
56
57        ~SBTypeSummary ();
58
59        bool
60        IsValid() const;
61
62        explicit operator bool() const;
63
64        bool
65        IsEqualTo (lldb::SBTypeSummary &rhs);
66
67        bool
68        IsFunctionCode();
69
70        bool
71        IsFunctionName();
72
73        bool
74        IsSummaryString();
75
76        const char*
77        GetData ();
78
79        void
80        SetSummaryString (const char* data);
81
82        void
83        SetFunctionName (const char* data);
84
85        void
86        SetFunctionCode (const char* data);
87
88        uint32_t
89        GetOptions ();
90
91        void
92        SetOptions (uint32_t);
93
94        bool
95        GetDescription (lldb::SBStream &description,
96                        lldb::DescriptionLevel description_level);
97
98        bool
99        operator == (lldb::SBTypeSummary &rhs);
100
101        bool
102        operator != (lldb::SBTypeSummary &rhs);
103
104        STRING_EXTENSION_LEVEL(SBTypeSummary, lldb::eDescriptionLevelBrief)
105
106#ifdef SWIGPYTHON
107        %pythoncode %{
108            options = property(GetOptions, SetOptions)
109            is_summary_string = property(IsSummaryString)
110            is_function_name = property(IsFunctionName)
111            is_function_name = property(IsFunctionCode)
112            summary_data = property(GetData)
113        %}
114#endif
115
116    };
117
118} // namespace lldb
119
120