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

MultiKeywordSelector - 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

typedef IdentifierInfo *const * keyword_iterator
 
- Public Types inherited from clang::DeclarationNameExtra
enum  ExtraKind {
  CXXConstructor = 0, CXXDestructor, CXXConversionFunction, CXXDeductionGuide,
  CXXLiteralOperator, CXXUsingDirective, NUM_EXTRA_KINDS
}
 ExtraKind - The kind of "extra" information stored in the DeclarationName. More...
 

Public Member Functions

 MultiKeywordSelector (unsigned nKeys, IdentifierInfo **IIV)
 
std::string getName () const
 
unsigned getNumArgs () 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

- Public Attributes inherited from clang::DeclarationNameExtra
unsigned ExtraKindOrNumArgs
 ExtraKindOrNumArgs - Either the kind of C++ special name or operator-id (if the value is one of the CXX* enumerators of ExtraKind), in which case the DeclarationNameExtra is also a CXXSpecialName, (for CXXConstructor, CXXDestructor, or CXXConversionFunction) CXXOperatorIdName, or CXXLiteralOperatorName, it may be also name common to C++ using-directives (CXXUsingDirective), otherwise it is NUM_EXTRA_KINDS+NumArgs, where NumArgs is the number of arguments in the Objective-C selector, in which case the DeclarationNameExtra is also a MultiKeywordSelector. More...
 

Detailed Description

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

Member Typedef Documentation

◆ keyword_iterator

Definition at line 395 of file IdentifierTable.cpp.

Constructor & Destructor Documentation

◆ MultiKeywordSelector()

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

Definition at line 380 of file IdentifierTable.cpp.

Member Function Documentation

◆ getIdentifierInfoForSlot()

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

Definition at line 402 of file IdentifierTable.cpp.

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

◆ getName()

std::string MultiKeywordSelector::getName ( ) const

Definition at line 444 of file IdentifierTable.cpp.

◆ getNumArgs()

unsigned clang::MultiKeywordSelector::getNumArgs ( ) const
inline

Definition at line 393 of file IdentifierTable.cpp.

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

◆ keyword_begin()

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

Definition at line 396 of file IdentifierTable.cpp.

◆ keyword_end()

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

Definition at line 399 of file IdentifierTable.cpp.

◆ Profile() [1/2]

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

Definition at line 406 of file IdentifierTable.cpp.

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

◆ Profile() [2/2]

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

Definition at line 412 of file IdentifierTable.cpp.


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