clang API Documentation
This table allows us to fully hide how we implement multi-keyword caching. More...
#include <IdentifierTable.h>
Public Member Functions | |
| SelectorTable () | |
| ~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. | |
This table allows us to fully hide how we implement multi-keyword caching.
Definition at line 732 of file IdentifierTable.h.
| SelectorTable::SelectorTable | ( | ) |
Definition at line 586 of file IdentifierTable.cpp.
Definition at line 590 of file IdentifierTable.cpp.
References getSelectorTableImpl().
| 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 539 of file IdentifierTable.cpp.
References clang::toUppercase().
Referenced by constructSetterSelector(), and hasDefaultSetterName().
| 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 547 of file IdentifierTable.cpp.
References constructSetterName(), clang::IdentifierTable::get(), clang::IdentifierInfo::getName(), and getUnarySelector().
Referenced by clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::HandleExprPropertyRefExpr(), and LookupMemberExpr().
| Selector clang::SelectorTable::getNullarySelector | ( | IdentifierInfo * | ID | ) | [inline] |
Definition at line 749 of file IdentifierTable.h.
Referenced by clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::checkObjCBridgeRelatedComponents(), cleanupDeallocOrFinalize(), clang::CodeGen::CodeGenFunction::EmitBlockCopyAndAutorelease(), GCRewriteFinalize(), clang::NSAPI::getNSArraySelector(), clang::NSAPI::getNSDictionarySelector(), clang::Sema::HandleExprPropertyRefExpr(), and LookupMemberExpr().
| Selector SelectorTable::getSelector | ( | unsigned | NumArgs, |
| IdentifierInfo ** | IIV | ||
| ) |
Can create any sort of selector.
NumArgs indicates whether this is a no argument selector "foo", a single argument selector "foo:" or multi-argument "foo:bar:".
Definition at line 560 of file IdentifierTable.cpp.
References getSelectorTableImpl(), and clang::MultiKeywordSelector::Profile().
Referenced by CheckKeyForObjCARCConversion(), clang::Sema::CheckObjCForCollectionOperand(), CheckProtocolMethodDefs(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), clang::CodeGen::CodeGenFunction::EmitObjCMRRAutoreleasePoolPop(), clang::CodeGen::CodeGenFunction::EmitObjCMRRAutoreleasePoolPush(), clang::ento::getKeywordSelectorImpl(), clang::NSAPI::getNSArraySelector(), clang::NSAPI::getNSDictionarySelector(), clang::NSAPI::getNSStringSelector(), clang::GetNullarySelector(), clang::GetUnarySelector(), clang::ASTImporter::Import(), and clang::ObjCNoReturn::ObjCNoReturn().
| size_t SelectorTable::getTotalMemory | ( | ) | const |
Return the total amount of memory allocated for managing selectors.
Definition at line 555 of file IdentifierTable.cpp.
References getSelectorTableImpl().
| Selector clang::SelectorTable::getUnarySelector | ( | IdentifierInfo * | ID | ) | [inline] |
Definition at line 746 of file IdentifierTable.h.
Referenced by clang::Sema::ActOnInstanceMessage(), clang::Sema::BuildObjCBoxedExpr(), clang::Sema::checkObjCBridgeRelatedComponents(), constructSetterSelector(), clang::NSAPI::getNSArraySelector(), clang::NSAPI::getNSDictionarySelector(), clang::NSAPI::getNSNumberLiteralSelector(), and clang::NSAPI::getNSStringSelector().