clang 22.0.0git
clang::MultiKeywordSelector Class Reference

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

#include "clang/Basic/IdentifierTable.h"

Inheritance diagram for clang::MultiKeywordSelector:
[legend]

Public Types

using keyword_iterator = const IdentifierInfo *const *

Public Member Functions

 MultiKeywordSelector (unsigned nKeys, const IdentifierInfo **IIV)
std::string getName () const
keyword_iterator keyword_begin () const
keyword_iterator keyword_end () const
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.
unsigned getNumArgs () const
 Return the number of arguments in an ObjC selector.
Protected Attributes inherited from clang::detail::DeclarationNameExtra
unsigned ExtraKindOrNumArgs
 ExtraKindOrNumArgs has one of the following meaning:

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 917 of file IdentifierTable.h.

Member Typedef Documentation

◆ keyword_iterator

Definition at line 940 of file IdentifierTable.h.

Constructor & Destructor Documentation

◆ MultiKeywordSelector()

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

Member Function Documentation

◆ getIdentifierInfoForSlot()

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

◆ getName()

std::string MultiKeywordSelector::getName ( ) const

Definition at line 592 of file IdentifierTable.cpp.

References keyword_begin(), and keyword_end().

◆ keyword_begin()

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

Definition at line 942 of file IdentifierTable.h.

Referenced by getIdentifierInfoForSlot(), getName(), keyword_end(), and Profile().

◆ keyword_end()

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

Definition at line 946 of file IdentifierTable.h.

References clang::detail::DeclarationNameExtra::getNumArgs(), and keyword_begin().

Referenced by getName().

◆ Profile() [1/2]

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

◆ Profile() [2/2]

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

Definition at line 955 of file IdentifierTable.h.

Referenced by clang::SelectorTable::getSelector(), and Profile().


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