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
Collaboration diagram for clang::MultiKeywordSelector:
Collaboration graph

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 363 of file IdentifierTable.cpp.

Member Typedef Documentation

◆ keyword_iterator

Definition at line 385 of file IdentifierTable.cpp.

Constructor & Destructor Documentation

◆ MultiKeywordSelector()

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

Definition at line 370 of file IdentifierTable.cpp.

References clang::CodeGen::getName().

Member Function Documentation

◆ getIdentifierInfoForSlot()

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

Definition at line 395 of file IdentifierTable.cpp.

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

◆ getName()

std::string MultiKeywordSelector::getName ( ) const

Definition at line 441 of file IdentifierTable.cpp.

◆ keyword_begin()

keyword_iterator clang::MultiKeywordSelector::keyword_begin ( ) const

Definition at line 387 of file IdentifierTable.cpp.

◆ keyword_end()

keyword_iterator clang::MultiKeywordSelector::keyword_end ( ) const

Definition at line 391 of file IdentifierTable.cpp.

◆ Profile() [1/2]

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

Definition at line 400 of file IdentifierTable.cpp.

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

◆ Profile() [2/2]

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

Definition at line 407 of file IdentifierTable.cpp.

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