1 | //===-- SBTypeCategory.h --------------------------------------------*- C++ |
---|---|
2 | //-*-===// |
3 | // |
4 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
5 | // See https://llvm.org/LICENSE.txt for license information. |
6 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
7 | // |
8 | //===----------------------------------------------------------------------===// |
9 | |
10 | #ifndef LLDB_API_SBTYPECATEGORY_H |
11 | #define LLDB_API_SBTYPECATEGORY_H |
12 | |
13 | #include "lldb/API/SBDefines.h" |
14 | |
15 | namespace lldb { |
16 | |
17 | class LLDB_API SBTypeCategory { |
18 | public: |
19 | SBTypeCategory(); |
20 | |
21 | SBTypeCategory(const lldb::SBTypeCategory &rhs); |
22 | |
23 | ~SBTypeCategory(); |
24 | |
25 | explicit operator bool() const; |
26 | |
27 | bool IsValid() const; |
28 | |
29 | bool GetEnabled(); |
30 | |
31 | void SetEnabled(bool); |
32 | |
33 | const char *GetName(); |
34 | |
35 | lldb::LanguageType GetLanguageAtIndex(uint32_t idx); |
36 | |
37 | uint32_t GetNumLanguages(); |
38 | |
39 | void AddLanguage(lldb::LanguageType language); |
40 | |
41 | bool GetDescription(lldb::SBStream &description, |
42 | lldb::DescriptionLevel description_level); |
43 | |
44 | uint32_t GetNumFormats(); |
45 | |
46 | uint32_t GetNumSummaries(); |
47 | |
48 | uint32_t GetNumFilters(); |
49 | |
50 | uint32_t GetNumSynthetics(); |
51 | |
52 | SBTypeNameSpecifier GetTypeNameSpecifierForFilterAtIndex(uint32_t); |
53 | |
54 | SBTypeNameSpecifier GetTypeNameSpecifierForFormatAtIndex(uint32_t); |
55 | |
56 | SBTypeNameSpecifier GetTypeNameSpecifierForSummaryAtIndex(uint32_t); |
57 | |
58 | SBTypeNameSpecifier GetTypeNameSpecifierForSyntheticAtIndex(uint32_t); |
59 | |
60 | SBTypeFilter GetFilterForType(SBTypeNameSpecifier); |
61 | |
62 | SBTypeFormat GetFormatForType(SBTypeNameSpecifier); |
63 | |
64 | SBTypeSummary GetSummaryForType(SBTypeNameSpecifier); |
65 | |
66 | SBTypeSynthetic GetSyntheticForType(SBTypeNameSpecifier); |
67 | |
68 | SBTypeFilter GetFilterAtIndex(uint32_t); |
69 | |
70 | SBTypeFormat GetFormatAtIndex(uint32_t); |
71 | |
72 | SBTypeSummary GetSummaryAtIndex(uint32_t); |
73 | |
74 | SBTypeSynthetic GetSyntheticAtIndex(uint32_t); |
75 | |
76 | bool AddTypeFormat(SBTypeNameSpecifier, SBTypeFormat); |
77 | |
78 | bool DeleteTypeFormat(SBTypeNameSpecifier); |
79 | |
80 | bool AddTypeSummary(SBTypeNameSpecifier, SBTypeSummary); |
81 | |
82 | bool DeleteTypeSummary(SBTypeNameSpecifier); |
83 | |
84 | bool AddTypeFilter(SBTypeNameSpecifier, SBTypeFilter); |
85 | |
86 | bool DeleteTypeFilter(SBTypeNameSpecifier); |
87 | |
88 | bool AddTypeSynthetic(SBTypeNameSpecifier, SBTypeSynthetic); |
89 | |
90 | bool DeleteTypeSynthetic(SBTypeNameSpecifier); |
91 | |
92 | lldb::SBTypeCategory &operator=(const lldb::SBTypeCategory &rhs); |
93 | |
94 | bool operator==(lldb::SBTypeCategory &rhs); |
95 | |
96 | bool operator!=(lldb::SBTypeCategory &rhs); |
97 | |
98 | protected: |
99 | friend class SBDebugger; |
100 | |
101 | lldb::TypeCategoryImplSP GetSP(); |
102 | |
103 | void SetSP(const lldb::TypeCategoryImplSP &typecategory_impl_sp); |
104 | |
105 | TypeCategoryImplSP m_opaque_sp; |
106 | |
107 | SBTypeCategory(const lldb::TypeCategoryImplSP &); |
108 | |
109 | SBTypeCategory(const char *); |
110 | |
111 | bool IsDefaultCategory(); |
112 | }; |
113 | |
114 | } // namespace lldb |
115 | |
116 | #endif // LLDB_API_SBTYPECATEGORY_H |
117 |