18 : m_format_cont(clist), m_summary_cont(clist), m_filter_cont(clist),
19 m_synth_cont(clist), m_enabled(false), m_change_listener(clist),
20 m_mutex(), m_name(name), m_languages() {}
24 switch (category_lang) {
27 return category_lang == valobj_lang;
108 bool pick_synth =
false;
116 if (!filter_sp.get() && !synth_sp.get())
118 else if (!filter_sp.get() && synth_sp.get())
120 else if (filter_sp.get() && !synth_sp.get())
124 pick_synth = filter_sp->GetRevision() <= synth_sp->GetRevision();
152 bool success =
false;
189 bool only_enabled,
const char **matching_category,
196 if (matching_category)
206 if (matching_category)
216 if (matching_category)
226 if (matching_category)
310 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
321 lang_stream.
Printf(
", applicable for language(s): ");
322 bool print_lang =
false;
static bool IsApplicable(lldb::LanguageType category_lang, lldb::LanguageType valobj_lang)
"lldb/Utility/ArgCompletionRequest.h"
A uniqued constant string class.
const char * GetCString() const
Get the string value as a C string.
static const char * GetNameForLanguageType(lldb::LanguageType language)
llvm::StringRef GetString() const
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
std::shared_ptr< SyntheticChildren > SharedPointer
uint32_t GetCount(FormatCategoryItems items=ALL_ITEM_TYPES)
SummaryContainer::MapValueType GetSummaryAtIndex(size_t index)
uint16_t FormatCategoryItems
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForSyntheticAtIndex(size_t index)
FormatContainer m_format_cont
SummaryContainer::MapValueType GetSummaryForType(lldb::TypeNameSpecifierImplSP type_sp)
FilterContainer::MapValueType GetFilterForType(lldb::TypeNameSpecifierImplSP type_sp)
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForSummaryAtIndex(size_t index)
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForFormatAtIndex(size_t index)
bool Get(lldb::LanguageType lang, const FormattersMatchVector &candidates, lldb::TypeFormatImplSP &entry)
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForFilterAtIndex(size_t index)
SynthContainer m_synth_cont
FormatContainer::MapValueType GetFormatAtIndex(size_t index)
IFormatChangeListener * m_change_listener
uint32_t m_enabled_position
std::recursive_mutex m_mutex
void AddLanguage(lldb::LanguageType lang)
lldb::LanguageType GetLanguageAtIndex(size_t idx)
TypeCategoryImpl(IFormatChangeListener *clist, ConstString name)
bool AnyMatches(const FormattersMatchCandidate &candidate_type, FormatCategoryItems items=ALL_ITEM_TYPES, bool only_enabled=true, const char **matching_category=nullptr, FormatCategoryItems *matching_type=nullptr)
bool Delete(ConstString name, FormatCategoryItems items=ALL_ITEM_TYPES)
SummaryContainer m_summary_cont
void AutoComplete(CompletionRequest &request, FormatCategoryItems items)
FilterContainer::MapValueType GetFilterAtIndex(size_t index)
SynthContainer::MapValueType GetSyntheticAtIndex(size_t index)
bool IsApplicable(lldb::LanguageType lang)
FilterContainer m_filter_cont
FormatContainer::MapValueType GetFormatForType(lldb::TypeNameSpecifierImplSP type_sp)
std::vector< lldb::LanguageType > m_languages
void Clear(FormatCategoryItems items=ALL_ITEM_TYPES)
std::string GetDescription()
SynthContainer::MapValueType GetSyntheticForType(lldb::TypeNameSpecifierImplSP type_sp)
void Enable(bool value, uint32_t position)
std::shared_ptr< TypeFilterImpl > SharedPointer
A class that represents a running process on the host machine.
std::vector< FormattersMatchCandidate > FormattersMatchVector
@ eFormatCategoryItemFormat
@ eFormatCategoryItemSynth
@ eFormatCategoryItemSummary
@ eFormatCategoryItemFilter
std::shared_ptr< lldb_private::TypeSummaryImpl > TypeSummaryImplSP
std::shared_ptr< lldb_private::TypeFormatImpl > TypeFormatImplSP
std::shared_ptr< lldb_private::TypeNameSpecifierImpl > TypeNameSpecifierImplSP
LanguageType
Programming language type.
@ eLanguageTypeC99
ISO C:1999.
@ eLanguageTypeUnknown
Unknown or invalid language value.
@ eLanguageTypeObjC_plus_plus
Objective-C++.
@ eLanguageTypeC89
ISO C:1989.
@ eLanguageTypeC
Non-standardized C, such as K&R.
@ eLanguageTypeObjC
Objective-C.
@ eLanguageTypeC_plus_plus
ISO C++:1998.
std::shared_ptr< lldb_private::SyntheticChildren > SyntheticChildrenSP