1 //===-- SBTypeCategory.h --------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBTypeCategory_h_
11 #define LLDB_SBTypeCategory_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBTypeCategory
23 SBTypeCategory (const lldb::SBTypeCategory &rhs);
40 GetLanguageAtIndex (uint32_t idx);
46 AddLanguage (lldb::LanguageType language);
49 GetDescription (lldb::SBStream &description,
50 lldb::DescriptionLevel description_level);
61 #ifndef LLDB_DISABLE_PYTHON
67 GetTypeNameSpecifierForFilterAtIndex (uint32_t);
70 GetTypeNameSpecifierForFormatAtIndex (uint32_t);
73 GetTypeNameSpecifierForSummaryAtIndex (uint32_t);
75 #ifndef LLDB_DISABLE_PYTHON
77 GetTypeNameSpecifierForSyntheticAtIndex (uint32_t);
81 GetFilterForType (SBTypeNameSpecifier);
84 GetFormatForType (SBTypeNameSpecifier);
86 #ifndef LLDB_DISABLE_PYTHON
88 GetSummaryForType (SBTypeNameSpecifier);
91 #ifndef LLDB_DISABLE_PYTHON
93 GetSyntheticForType (SBTypeNameSpecifier);
96 #ifndef LLDB_DISABLE_PYTHON
98 GetFilterAtIndex (uint32_t);
102 GetFormatAtIndex (uint32_t);
104 #ifndef LLDB_DISABLE_PYTHON
106 GetSummaryAtIndex (uint32_t);
109 #ifndef LLDB_DISABLE_PYTHON
111 GetSyntheticAtIndex (uint32_t);
115 AddTypeFormat (SBTypeNameSpecifier,
119 DeleteTypeFormat (SBTypeNameSpecifier);
121 #ifndef LLDB_DISABLE_PYTHON
123 AddTypeSummary (SBTypeNameSpecifier,
128 DeleteTypeSummary (SBTypeNameSpecifier);
131 AddTypeFilter (SBTypeNameSpecifier,
135 DeleteTypeFilter (SBTypeNameSpecifier);
137 #ifndef LLDB_DISABLE_PYTHON
139 AddTypeSynthetic (SBTypeNameSpecifier,
143 DeleteTypeSynthetic (SBTypeNameSpecifier);
146 lldb::SBTypeCategory &
147 operator = (const lldb::SBTypeCategory &rhs);
150 operator == (lldb::SBTypeCategory &rhs);
153 operator != (lldb::SBTypeCategory &rhs);
156 friend class SBDebugger;
158 lldb::TypeCategoryImplSP
162 SetSP (const lldb::TypeCategoryImplSP &typecategory_impl_sp);
164 TypeCategoryImplSP m_opaque_sp;
166 SBTypeCategory (const lldb::TypeCategoryImplSP &);
168 SBTypeCategory (const char*);
177 #endif // LLDB_SBTypeCategory_h_