clang  8.0.0svn
Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::MultiKeywordSelector Class Reference

One of these variable length records is kept for each selector containing more than one keyword. More...

Inheritance diagram for clang::MultiKeywordSelector:
Inheritance graph
[legend]
Collaboration diagram for clang::MultiKeywordSelector:
Collaboration graph
[legend]

Public Types

using keyword_iterator = IdentifierInfo *const *
 

Public Member Functions

 MultiKeywordSelector (unsigned nKeys, IdentifierInfo **IIV)
 
std::string getName () const
 
keyword_iterator keyword_begin () const
 
keyword_iterator keyword_end () const
 
IdentifierInfogetIdentifierInfoForSlot (unsigned i) const
 
void Profile (llvm::FoldingSetNodeID &ID)
 

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, keyword_iterator ArgTys, unsigned NumArgs)
 

Additional Inherited Members

- Protected Types inherited from clang::detail::DeclarationNameExtra
enum  ExtraKind { CXXDeductionGuideName, CXXLiteralOperatorName, CXXUsingDirective, ObjCMultiArgSelector }
 The kind of "extra" information stored in the DeclarationName. More...
 
- Protected Member Functions inherited from clang::detail::DeclarationNameExtra
 DeclarationNameExtra (ExtraKind Kind)
 
 DeclarationNameExtra (unsigned NumArgs)
 
ExtraKind getKind () const
 Return the corresponding ExtraKind. More...
 
unsigned getNumArgs () const
 Return the number of arguments in an ObjC selector. More...
 
- Protected Attributes inherited from clang::detail::DeclarationNameExtra
unsigned ExtraKindOrNumArgs
 ExtraKindOrNumArgs has one of the following meaning: More...
 

Detailed Description

One of these variable length records is kept for each selector containing more than one keyword.

We use a folding set to unique aggregate names (keyword selectors in ObjC parlance). Access to this class is provided strictly through Selector.

Definition at line 389 of file IdentifierTable.cpp.

Member Typedef Documentation

◆ keyword_iterator

Definition at line 411 of file IdentifierTable.cpp.

Constructor & Destructor Documentation

◆ MultiKeywordSelector()

clang::MultiKeywordSelector::MultiKeywordSelector ( unsigned  nKeys,
IdentifierInfo **  IIV 
)
inline

Definition at line 396 of file IdentifierTable.cpp.

References clang::CodeGen::getName().

Member Function Documentation

◆ getIdentifierInfoForSlot()

IdentifierInfo* clang::MultiKeywordSelector::getIdentifierInfoForSlot ( unsigned  i) const
inline

Definition at line 421 of file IdentifierTable.cpp.

Referenced by clang::Selector::getIdentifierInfoForSlot().

◆ getName()

std::string MultiKeywordSelector::getName ( ) const

Definition at line 467 of file IdentifierTable.cpp.

◆ keyword_begin()

keyword_iterator clang::MultiKeywordSelector::keyword_begin ( ) const
inline

Definition at line 413 of file IdentifierTable.cpp.

◆ keyword_end()

keyword_iterator clang::MultiKeywordSelector::keyword_end ( ) const
inline

Definition at line 417 of file IdentifierTable.cpp.

◆ Profile() [1/2]

static void clang::MultiKeywordSelector::Profile ( llvm::FoldingSetNodeID &  ID,
keyword_iterator  ArgTys,
unsigned  NumArgs 
)
inlinestatic

Definition at line 426 of file IdentifierTable.cpp.

Referenced by clang::SelectorTable::getSelector().

◆ Profile() [2/2]

void clang::MultiKeywordSelector::Profile ( llvm::FoldingSetNodeID &  ID)
inline

Definition at line 433 of file IdentifierTable.cpp.


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