LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
lldb_private::TypeCategoryImpl Class Reference

#include <TypeCategory.h>

Collaboration diagram for lldb_private::TypeCategoryImpl:
Collaboration graph
[legend]

Classes

class  ForEachCallbacks
 

Public Types

typedef uint16_t FormatCategoryItems
 
typedef FormatContainer::ExactMatchContainerSP FormatContainerSP
 
typedef FormatContainer::RegexMatchContainerSP RegexFormatContainerSP
 
typedef SummaryContainer::ExactMatchContainerSP SummaryContainerSP
 
typedef SummaryContainer::RegexMatchContainerSP RegexSummaryContainerSP
 
typedef FilterContainer::ExactMatchContainerSP FilterContainerSP
 
typedef FilterContainer::RegexMatchContainerSP RegexFilterContainerSP
 
typedef SynthContainer::ExactMatchContainerSP SynthContainerSP
 
typedef SynthContainer::RegexMatchContainerSP RegexSynthContainerSP
 
typedef ValidatorContainer::ExactMatchContainerSP ValidatorContainerSP
 
typedef ValidatorContainer::RegexMatchContainerSP RegexValidatorContainerSP
 
typedef std::shared_ptr< TypeCategoryImplSharedPointer
 

Public Member Functions

 TypeCategoryImpl (IFormatChangeListener *clist, ConstString name, std::initializer_list< lldb::LanguageType > langs={})
 
template<typename T >
void ForEach (const ForEachCallbacks< T > &foreach)
 
FormatContainerSP GetTypeFormatsContainer ()
 
RegexFormatContainerSP GetRegexTypeFormatsContainer ()
 
FormatContainerGetFormatContainer ()
 
SummaryContainerSP GetTypeSummariesContainer ()
 
RegexSummaryContainerSP GetRegexTypeSummariesContainer ()
 
SummaryContainerGetSummaryContainer ()
 
FilterContainerSP GetTypeFiltersContainer ()
 
RegexFilterContainerSP GetRegexTypeFiltersContainer ()
 
FilterContainerGetFilterContainer ()
 
FormatContainer::MapValueType GetFormatForType (lldb::TypeNameSpecifierImplSP type_sp)
 
SummaryContainer::MapValueType GetSummaryForType (lldb::TypeNameSpecifierImplSP type_sp)
 
FilterContainer::MapValueType GetFilterForType (lldb::TypeNameSpecifierImplSP type_sp)
 
SynthContainer::MapValueType GetSyntheticForType (lldb::TypeNameSpecifierImplSP type_sp)
 
ValidatorContainer::MapValueType GetValidatorForType (lldb::TypeNameSpecifierImplSP type_sp)
 
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForFormatAtIndex (size_t index)
 
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForSummaryAtIndex (size_t index)
 
FormatContainer::MapValueType GetFormatAtIndex (size_t index)
 
SummaryContainer::MapValueType GetSummaryAtIndex (size_t index)
 
FilterContainer::MapValueType GetFilterAtIndex (size_t index)
 
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForFilterAtIndex (size_t index)
 
SynthContainerSP GetTypeSyntheticsContainer ()
 
RegexSynthContainerSP GetRegexTypeSyntheticsContainer ()
 
SynthContainerGetSyntheticsContainer ()
 
SynthContainer::MapValueType GetSyntheticAtIndex (size_t index)
 
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForSyntheticAtIndex (size_t index)
 
ValidatorContainerSP GetTypeValidatorsContainer ()
 
RegexValidatorContainerSP GetRegexTypeValidatorsContainer ()
 
ValidatorContainer::MapValueType GetValidatorAtIndex (size_t index)
 
lldb::TypeNameSpecifierImplSP GetTypeNameSpecifierForValidatorAtIndex (size_t index)
 
bool IsEnabled () const
 
uint32_t GetEnabledPosition ()
 
bool Get (ValueObject &valobj, const FormattersMatchVector &candidates, lldb::TypeFormatImplSP &entry, uint32_t *reason=nullptr)
 
bool Get (ValueObject &valobj, const FormattersMatchVector &candidates, lldb::TypeSummaryImplSP &entry, uint32_t *reason=nullptr)
 
bool Get (ValueObject &valobj, const FormattersMatchVector &candidates, lldb::SyntheticChildrenSP &entry, uint32_t *reason=nullptr)
 
bool Get (ValueObject &valobj, const FormattersMatchVector &candidates, lldb::TypeValidatorImplSP &entry, uint32_t *reason=nullptr)
 
void Clear (FormatCategoryItems items=ALL_ITEM_TYPES)
 
bool Delete (ConstString name, FormatCategoryItems items=ALL_ITEM_TYPES)
 
uint32_t GetCount (FormatCategoryItems items=ALL_ITEM_TYPES)
 
const char * GetName ()
 
size_t GetNumLanguages ()
 
lldb::LanguageType GetLanguageAtIndex (size_t idx)
 
void AddLanguage (lldb::LanguageType lang)
 
bool HasLanguage (lldb::LanguageType lang)
 
std::string GetDescription ()
 
bool AnyMatches (ConstString type_name, FormatCategoryItems items=ALL_ITEM_TYPES, bool only_enabled=true, const char **matching_category=nullptr, FormatCategoryItems *matching_type=nullptr)
 

Static Public Attributes

static const uint16_t ALL_ITEM_TYPES = UINT16_MAX
 

Friends

class FormatManager
 
class LanguageCategory
 
class TypeCategoryMap
 
class FormattersContainer< ConstString, TypeFormatImpl >
 
class FormattersContainer< lldb::RegularExpressionSP, TypeFormatImpl >
 
class FormattersContainer< ConstString, TypeSummaryImpl >
 
class FormattersContainer< lldb::RegularExpressionSP, TypeSummaryImpl >
 
class FormattersContainer< ConstString, TypeFilterImpl >
 
class FormattersContainer< lldb::RegularExpressionSP, TypeFilterImpl >
 
class FormattersContainer< ConstString, ScriptedSyntheticChildren >
 
class FormattersContainer< lldb::RegularExpressionSP, ScriptedSyntheticChildren >
 
class FormattersContainer< ConstString, TypeValidatorImpl >
 
class FormattersContainer< lldb::RegularExpressionSP, TypeValidatorImpl >
 

Detailed Description

Definition at line 65 of file TypeCategory.h.

Member Typedef Documentation

◆ FilterContainerSP

Definition at line 83 of file TypeCategory.h.

◆ FormatCategoryItems

Definition at line 74 of file TypeCategory.h.

◆ FormatContainerSP

Definition at line 77 of file TypeCategory.h.

◆ RegexFilterContainerSP

Definition at line 84 of file TypeCategory.h.

◆ RegexFormatContainerSP

Definition at line 78 of file TypeCategory.h.

◆ RegexSummaryContainerSP

Definition at line 81 of file TypeCategory.h.

◆ RegexSynthContainerSP

Definition at line 87 of file TypeCategory.h.

◆ RegexValidatorContainerSP

Definition at line 90 of file TypeCategory.h.

◆ SharedPointer

Definition at line 372 of file TypeCategory.h.

◆ SummaryContainerSP

Definition at line 80 of file TypeCategory.h.

◆ SynthContainerSP

Definition at line 86 of file TypeCategory.h.

◆ ValidatorContainerSP

Definition at line 89 of file TypeCategory.h.

Constructor & Destructor Documentation

◆ TypeCategoryImpl()

TypeCategoryImpl::TypeCategoryImpl ( IFormatChangeListener clist,
ConstString  name,
std::initializer_list< lldb::LanguageType langs = {} 
)

Definition at line 16 of file TypeCategory.cpp.

References AddLanguage().

Member Function Documentation

◆ AddLanguage()

void TypeCategoryImpl::AddLanguage ( lldb::LanguageType  lang)

Definition at line 89 of file TypeCategory.cpp.

Referenced by TypeCategoryImpl().

◆ AnyMatches()

bool TypeCategoryImpl::AnyMatches ( ConstString  type_name,
FormatCategoryItems  items = ALL_ITEM_TYPES,
bool  only_enabled = true,
const char **  matching_category = nullptr,
FormatCategoryItems matching_type = nullptr 
)

◆ Clear()

void TypeCategoryImpl::Clear ( FormatCategoryItems  items = ALL_ITEM_TYPES)

◆ Delete()

bool TypeCategoryImpl::Delete ( ConstString  name,
FormatCategoryItems  items = ALL_ITEM_TYPES 
)

◆ ForEach()

template<typename T >
void lldb_private::TypeCategoryImpl::ForEach ( const ForEachCallbacks< T > &  foreach)
inline

Definition at line 220 of file TypeCategory.h.

◆ Get() [1/4]

bool TypeCategoryImpl::Get ( ValueObject valobj,
const FormattersMatchVector candidates,
lldb::TypeFormatImplSP &  entry,
uint32_t reason = nullptr 
)

◆ Get() [2/4]

bool TypeCategoryImpl::Get ( ValueObject valobj,
const FormattersMatchVector candidates,
lldb::TypeSummaryImplSP &  entry,
uint32_t reason = nullptr 
)

◆ Get() [3/4]

bool TypeCategoryImpl::Get ( ValueObject valobj,
const FormattersMatchVector candidates,
lldb::SyntheticChildrenSP &  entry,
uint32_t reason = nullptr 
)

◆ Get() [4/4]

bool TypeCategoryImpl::Get ( ValueObject valobj,
const FormattersMatchVector candidates,
lldb::TypeValidatorImplSP &  entry,
uint32_t reason = nullptr 
)

◆ GetCount()

uint32_t TypeCategoryImpl::GetCount ( FormatCategoryItems  items = ALL_ITEM_TYPES)

◆ GetDescription()

std::string TypeCategoryImpl::GetDescription ( )

◆ GetEnabledPosition()

uint32_t lldb_private::TypeCategoryImpl::GetEnabledPosition ( )
inline

◆ GetFilterAtIndex()

TypeCategoryImpl::FilterContainer::MapValueType TypeCategoryImpl::GetFilterAtIndex ( size_t  index)

◆ GetFilterContainer()

FilterContainer& lldb_private::TypeCategoryImpl::GetFilterContainer ( )
inline

Definition at line 267 of file TypeCategory.h.

◆ GetFilterForType()

TypeCategoryImpl::FilterContainer::MapValueType TypeCategoryImpl::GetFilterForType ( lldb::TypeNameSpecifierImplSP  type_sp)

Definition at line 433 of file TypeCategory.cpp.

References GetRegexTypeFiltersContainer(), and GetTypeFiltersContainer().

◆ GetFormatAtIndex()

TypeCategoryImpl::FormatContainer::MapValueType TypeCategoryImpl::GetFormatAtIndex ( size_t  index)

◆ GetFormatContainer()

FormatContainer& lldb_private::TypeCategoryImpl::GetFormatContainer ( )
inline

Definition at line 247 of file TypeCategory.h.

◆ GetFormatForType()

TypeCategoryImpl::FormatContainer::MapValueType TypeCategoryImpl::GetFormatForType ( lldb::TypeNameSpecifierImplSP  type_sp)

Definition at line 401 of file TypeCategory.cpp.

References GetRegexTypeFormatsContainer(), and GetTypeFormatsContainer().

◆ GetLanguageAtIndex()

lldb::LanguageType TypeCategoryImpl::GetLanguageAtIndex ( size_t  idx)

Definition at line 83 of file TypeCategory.cpp.

References lldb::eLanguageTypeUnknown.

Referenced by GetDescription(), and IsApplicable().

◆ GetName()

const char* lldb_private::TypeCategoryImpl::GetName ( )
inline

Definition at line 354 of file TypeCategory.h.

Referenced by GetDescription().

◆ GetNumLanguages()

size_t TypeCategoryImpl::GetNumLanguages ( )

Definition at line 77 of file TypeCategory.cpp.

Referenced by GetDescription(), and IsApplicable().

◆ GetRegexTypeFiltersContainer()

RegexFilterContainerSP lldb_private::TypeCategoryImpl::GetRegexTypeFiltersContainer ( )
inline

◆ GetRegexTypeFormatsContainer()

RegexFormatContainerSP lldb_private::TypeCategoryImpl::GetRegexTypeFormatsContainer ( )
inline

◆ GetRegexTypeSummariesContainer()

RegexSummaryContainerSP lldb_private::TypeCategoryImpl::GetRegexTypeSummariesContainer ( )
inline

◆ GetRegexTypeSyntheticsContainer()

RegexSynthContainerSP lldb_private::TypeCategoryImpl::GetRegexTypeSyntheticsContainer ( )
inline

◆ GetRegexTypeValidatorsContainer()

RegexValidatorContainerSP lldb_private::TypeCategoryImpl::GetRegexTypeValidatorsContainer ( )
inline

◆ GetSummaryAtIndex()

TypeCategoryImpl::SummaryContainer::MapValueType TypeCategoryImpl::GetSummaryAtIndex ( size_t  index)

◆ GetSummaryContainer()

SummaryContainer& lldb_private::TypeCategoryImpl::GetSummaryContainer ( )
inline

Definition at line 257 of file TypeCategory.h.

◆ GetSummaryForType()

TypeCategoryImpl::SummaryContainer::MapValueType TypeCategoryImpl::GetSummaryForType ( lldb::TypeNameSpecifierImplSP  type_sp)

◆ GetSyntheticAtIndex()

TypeCategoryImpl::SynthContainer::MapValueType TypeCategoryImpl::GetSyntheticAtIndex ( size_t  index)

◆ GetSyntheticForType()

TypeCategoryImpl::SynthContainer::MapValueType TypeCategoryImpl::GetSyntheticForType ( lldb::TypeNameSpecifierImplSP  type_sp)

◆ GetSyntheticsContainer()

SynthContainer& lldb_private::TypeCategoryImpl::GetSyntheticsContainer ( )
inline

Definition at line 307 of file TypeCategory.h.

◆ GetTypeFiltersContainer()

FilterContainerSP lldb_private::TypeCategoryImpl::GetTypeFiltersContainer ( )
inline

◆ GetTypeFormatsContainer()

FormatContainerSP lldb_private::TypeCategoryImpl::GetTypeFormatsContainer ( )
inline

◆ GetTypeNameSpecifierForFilterAtIndex()

lldb::TypeNameSpecifierImplSP TypeCategoryImpl::GetTypeNameSpecifierForFilterAtIndex ( size_t  index)

◆ GetTypeNameSpecifierForFormatAtIndex()

lldb::TypeNameSpecifierImplSP TypeCategoryImpl::GetTypeNameSpecifierForFormatAtIndex ( size_t  index)

◆ GetTypeNameSpecifierForSummaryAtIndex()

lldb::TypeNameSpecifierImplSP TypeCategoryImpl::GetTypeNameSpecifierForSummaryAtIndex ( size_t  index)

◆ GetTypeNameSpecifierForSyntheticAtIndex()

lldb::TypeNameSpecifierImplSP TypeCategoryImpl::GetTypeNameSpecifierForSyntheticAtIndex ( size_t  index)

◆ GetTypeNameSpecifierForValidatorAtIndex()

lldb::TypeNameSpecifierImplSP TypeCategoryImpl::GetTypeNameSpecifierForValidatorAtIndex ( size_t  index)

◆ GetTypeSummariesContainer()

SummaryContainerSP lldb_private::TypeCategoryImpl::GetTypeSummariesContainer ( )
inline

◆ GetTypeSyntheticsContainer()

SynthContainerSP lldb_private::TypeCategoryImpl::GetTypeSyntheticsContainer ( )
inline

◆ GetTypeValidatorsContainer()

ValidatorContainerSP lldb_private::TypeCategoryImpl::GetTypeValidatorsContainer ( )
inline

◆ GetValidatorAtIndex()

TypeCategoryImpl::ValidatorContainer::MapValueType TypeCategoryImpl::GetValidatorAtIndex ( size_t  index)

◆ GetValidatorForType()

TypeCategoryImpl::ValidatorContainer::MapValueType TypeCategoryImpl::GetValidatorForType ( lldb::TypeNameSpecifierImplSP  type_sp)

◆ HasLanguage()

bool TypeCategoryImpl::HasLanguage ( lldb::LanguageType  lang)

Definition at line 93 of file TypeCategory.cpp.

◆ IsEnabled()

bool lldb_private::TypeCategoryImpl::IsEnabled ( ) const
inline

Definition at line 327 of file TypeCategory.h.

Referenced by AnyMatches(), Get(), and GetDescription().

Friends And Related Function Documentation

◆ FormatManager

friend class FormatManager
friend

Definition at line 403 of file TypeCategory.h.

◆ FormattersContainer< ConstString, ScriptedSyntheticChildren >

Definition at line 416 of file TypeCategory.h.

◆ FormattersContainer< ConstString, TypeFilterImpl >

Definition at line 413 of file TypeCategory.h.

◆ FormattersContainer< ConstString, TypeFormatImpl >

Definition at line 407 of file TypeCategory.h.

◆ FormattersContainer< ConstString, TypeSummaryImpl >

Definition at line 410 of file TypeCategory.h.

◆ FormattersContainer< ConstString, TypeValidatorImpl >

Definition at line 420 of file TypeCategory.h.

◆ FormattersContainer< lldb::RegularExpressionSP, ScriptedSyntheticChildren >

friend class FormattersContainer< lldb::RegularExpressionSP, ScriptedSyntheticChildren >
friend

Definition at line 418 of file TypeCategory.h.

◆ FormattersContainer< lldb::RegularExpressionSP, TypeFilterImpl >

friend class FormattersContainer< lldb::RegularExpressionSP, TypeFilterImpl >
friend

Definition at line 414 of file TypeCategory.h.

◆ FormattersContainer< lldb::RegularExpressionSP, TypeFormatImpl >

friend class FormattersContainer< lldb::RegularExpressionSP, TypeFormatImpl >
friend

Definition at line 408 of file TypeCategory.h.

◆ FormattersContainer< lldb::RegularExpressionSP, TypeSummaryImpl >

friend class FormattersContainer< lldb::RegularExpressionSP, TypeSummaryImpl >
friend

Definition at line 411 of file TypeCategory.h.

◆ FormattersContainer< lldb::RegularExpressionSP, TypeValidatorImpl >

friend class FormattersContainer< lldb::RegularExpressionSP, TypeValidatorImpl >
friend

Definition at line 422 of file TypeCategory.h.

◆ LanguageCategory

friend class LanguageCategory
friend

Definition at line 404 of file TypeCategory.h.

◆ TypeCategoryMap

friend class TypeCategoryMap
friend

Definition at line 405 of file TypeCategory.h.

Member Data Documentation

◆ ALL_ITEM_TYPES

const uint16_t lldb_private::TypeCategoryImpl::ALL_ITEM_TYPES = UINT16_MAX
static

Definition at line 75 of file TypeCategory.h.


The documentation for this class was generated from the following files: