clang 20.0.0git
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...

#include "clang/Basic/IdentifierTable.h"

Inheritance diagram for clang::MultiKeywordSelector:
Inheritance graph
[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 909 of file IdentifierTable.h.

Member Typedef Documentation

◆ keyword_iterator

Definition at line 932 of file IdentifierTable.h.

Constructor & Destructor Documentation

◆ MultiKeywordSelector()

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

Definition at line 916 of file IdentifierTable.h.

Member Function Documentation

◆ getIdentifierInfoForSlot()

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

Definition at line 942 of file IdentifierTable.h.

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

◆ getName()

std::string MultiKeywordSelector::getName ( ) const

Definition at line 569 of file IdentifierTable.cpp.

References E, keyword_begin(), and keyword_end().

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

◆ keyword_begin()

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

Definition at line 934 of file IdentifierTable.h.

Referenced by getName().

◆ keyword_end()

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

Definition at line 938 of file IdentifierTable.h.

Referenced by getName().

◆ Profile() [1/2]

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

Definition at line 954 of file IdentifierTable.h.

References ID.

◆ Profile() [2/2]

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

Definition at line 947 of file IdentifierTable.h.

References ID.

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


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