LLDB mainline
SBTypeCategory.h
Go to the documentation of this file.
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
15namespace lldb {
16
18public:
20
22
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
95
96 bool operator!=(lldb::SBTypeCategory &rhs);
97
98protected:
99 friend class SBDebugger;
100
102
103 void SetSP(const lldb::TypeCategoryImplSP &typecategory_impl_sp);
104
106
108
109 SBTypeCategory(const char *);
110
111 bool IsDefaultCategory();
112};
113
114} // namespace lldb
115
116#endif // LLDB_API_SBTYPECATEGORY_H
static const char * GetName(DWARFDeclContext::Entry entry)
Returns the name of entry if it has one, or the appropriate "anonymous {namespace,...
#define LLDB_API
Definition: SBDefines.h:28
TypeCategoryImplSP m_opaque_sp
Definition: SBAddress.h:15
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
LanguageType
Programming language type.
std::shared_ptr< lldb_private::TypeCategoryImpl > TypeCategoryImplSP
Definition: lldb-forward.h:451
bool LLDB_API operator==(const SBAddress &lhs, const SBAddress &rhs)
Definition: SBAddress.cpp:60