clang 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::SelectorTable Class Reference

This table allows us to fully hide how we implement multi-keyword caching. More...

#include "clang/Basic/IdentifierTable.h"

Public Member Functions

 SelectorTable ()
 
 SelectorTable (const SelectorTable &)=delete
 
SelectorTableoperator= (const SelectorTable &)=delete
 
 ~SelectorTable ()
 
Selector getSelector (unsigned NumArgs, IdentifierInfo **IIV)
 Can create any sort of selector.
 
Selector getUnarySelector (IdentifierInfo *ID)
 
Selector getNullarySelector (IdentifierInfo *ID)
 
size_t getTotalMemory () const
 Return the total amount of memory allocated for managing selectors.
 

Static Public Member Functions

static SmallString< 64 > constructSetterName (StringRef Name)
 Return the default setter name for the given identifier.
 
static Selector constructSetterSelector (IdentifierTable &Idents, SelectorTable &SelTable, const IdentifierInfo *Name)
 Return the default setter selector for the given identifier.
 
static std::string getPropertyNameFromSetterSelector (Selector Sel)
 Return the property name for the given setter selector.
 

Detailed Description

This table allows us to fully hide how we implement multi-keyword caching.

Definition at line 1121 of file IdentifierTable.h.

Constructor & Destructor Documentation

◆ SelectorTable() [1/2]

SelectorTable::SelectorTable ( )

Definition at line 779 of file IdentifierTable.cpp.

◆ SelectorTable() [2/2]

clang::SelectorTable::SelectorTable ( const SelectorTable )
delete

◆ ~SelectorTable()

SelectorTable::~SelectorTable ( )

Definition at line 783 of file IdentifierTable.cpp.

References getSelectorTableImpl().

Member Function Documentation

◆ constructSetterName()

SmallString< 64 > SelectorTable::constructSetterName ( StringRef  Name)
static

Return the default setter name for the given identifier.

This is "set" + Name where the initial character of Name has been capitalized.

Definition at line 726 of file IdentifierTable.cpp.

References clang::toUppercase().

Referenced by constructSetterSelector(), and hasDefaultSetterName().

◆ constructSetterSelector()

Selector SelectorTable::constructSetterSelector ( IdentifierTable Idents,
SelectorTable SelTable,
const IdentifierInfo Name 
)
static

Return the default setter selector for the given identifier.

This is "set" + Name where the initial character of Name has been capitalized.

Definition at line 734 of file IdentifierTable.cpp.

References constructSetterName(), clang::IdentifierTable::get(), and getUnarySelector().

Referenced by clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::HandleExprPropertyRefExpr(), and LookupMemberExpr().

◆ getNullarySelector()

Selector clang::SelectorTable::getNullarySelector ( IdentifierInfo ID)
inline

◆ getPropertyNameFromSetterSelector()

std::string SelectorTable::getPropertyNameFromSetterSelector ( Selector  Sel)
static

Return the property name for the given setter selector.

Definition at line 742 of file IdentifierTable.cpp.

References clang::Selector::getNameForSlot(), and clang::toLowercase().

◆ getSelector()

Selector SelectorTable::getSelector ( unsigned  NumArgs,
IdentifierInfo **  IIV 
)

◆ getTotalMemory()

size_t SelectorTable::getTotalMemory ( ) const

Return the total amount of memory allocated for managing selectors.

Definition at line 748 of file IdentifierTable.cpp.

References getSelectorTableImpl().

◆ getUnarySelector()

Selector clang::SelectorTable::getUnarySelector ( IdentifierInfo ID)
inline

◆ operator=()

SelectorTable & clang::SelectorTable::operator= ( const SelectorTable )
delete

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