|
clang 23.0.0git
|
One of these records is kept for each identifier that is lexed. More...
#include "clang/Basic/IdentifierTable.h"
Public Member Functions | |
| IdentifierInfo (const IdentifierInfo &)=delete | |
| IdentifierInfo & | operator= (const IdentifierInfo &)=delete |
| IdentifierInfo (IdentifierInfo &&)=delete | |
| IdentifierInfo & | operator= (IdentifierInfo &&)=delete |
| template<std::size_t StrLen> | |
| bool | isStr (const char(&Str)[StrLen]) const |
| Return true if this is the identifier for the specified string. | |
| bool | isStr (llvm::StringRef Str) const |
| Return true if this is the identifier for the specified StringRef. | |
| const char * | getNameStart () const |
| Return the beginning of the actual null-terminated string for this identifier. | |
| unsigned | getLength () const |
| Efficiently return the length of this identifier info. | |
| StringRef | getName () const |
| Return the actual identifier string. | |
| bool | hasMacroDefinition () const |
| Return true if this identifier is #defined to some other value. | |
| void | setHasMacroDefinition (bool Val) |
| bool | hadMacroDefinition () const |
| Returns true if this identifier was #defined to some value at any moment. | |
| bool | isDeprecatedMacro () const |
| void | setIsDeprecatedMacro (bool Val) |
| bool | isRestrictExpansion () const |
| void | setIsRestrictExpansion (bool Val) |
| bool | isFinal () const |
| void | setIsFinal (bool Val) |
| tok::TokenKind | getTokenID () const |
| If this is a source-language token (e.g. | |
| bool | hasRevertedTokenIDToIdentifier () const |
| True if revertTokenIDToIdentifier() was called. | |
| void | revertTokenIDToIdentifier () |
| Revert TokenID to tok::identifier; used for GNU libstdc++ 4.2 compatibility. | |
| void | revertIdentifierToTokenID (tok::TokenKind TK) |
| tok::PPKeywordKind | getPPKeywordID () const |
| Return the preprocessor keyword ID for this identifier. | |
| tok::ObjCKeywordKind | getObjCKeywordID () const |
| Return the Objective-C keyword ID for the this identifier. | |
| void | setObjCKeywordID (tok::ObjCKeywordKind ID) |
| unsigned | getBuiltinID () const |
| Return a value indicating whether this is a builtin function. | |
| void | setBuiltinID (unsigned ID) |
| void | clearBuiltinID () |
| tok::NotableIdentifierKind | getNotableIdentifierID () const |
| void | setNotableIdentifierID (unsigned ID) |
| unsigned | getObjCOrBuiltinID () const |
| void | setObjCOrBuiltinID (unsigned ID) |
| bool | isExtensionToken () const |
| get/setExtension - Initialize information about whether or not this language token is an extension. | |
| void | setIsExtensionToken (bool Val) |
| bool | isFutureCompatKeyword () const |
| is/setIsFutureCompatKeyword - Initialize information about whether or not this language token is a keyword in a newer or proposed Standard. | |
| void | setIsFutureCompatKeyword (bool Val) |
| void | setIsPoisoned (bool Value=true) |
| setIsPoisoned - Mark this identifier as poisoned. | |
| bool | isPoisoned () const |
| Return true if this token has been poisoned. | |
| void | setIsCPlusPlusOperatorKeyword (bool Val=true) |
| isCPlusPlusOperatorKeyword/setIsCPlusPlusOperatorKeyword controls whether this identifier is a C++ alternate representation of an operator. | |
| bool | isCPlusPlusOperatorKeyword () const |
| bool | IsKeywordInCPlusPlus () const |
| Return true if this identifier would be a keyword in C++ mode. | |
| void | setIsKeywordInCPlusPlus (bool Val=true) |
| bool | isKeyword (const LangOptions &LangOpts) const |
| Return true if this token is a keyword in the specified language. | |
| bool | isCPlusPlusKeyword (const LangOptions &LangOpts) const |
| Return true if this token is a C++ keyword in the specified language. | |
| void * | getFETokenInfo () const |
| Get and set FETokenInfo. | |
| void | setFETokenInfo (void *T) |
| bool | isHandleIdentifierCase () const |
| Return true if the Preprocessor::HandleIdentifier must be called on a token of this identifier. | |
| void | setHandleIdentifierCase (bool Val=true) |
| bool | isFromAST () const |
| Return true if the identifier in its current state was loaded from an AST file. | |
| void | setIsFromAST () |
| bool | hasChangedSinceDeserialization () const |
| Determine whether this identifier has changed since it was loaded from an AST file. | |
| void | setChangedSinceDeserialization () |
| Note that this identifier has changed since it was loaded from an AST file. | |
| bool | hasFETokenInfoChangedSinceDeserialization () const |
| Determine whether the frontend token information for this identifier has changed since it was loaded from an AST file. | |
| void | setFETokenInfoChangedSinceDeserialization () |
| Note that the frontend token information for this identifier has changed since it was loaded from an AST file. | |
| bool | isOutOfDate () const |
| Determine whether the information for this identifier is out of date with respect to the external source. | |
| void | setOutOfDate (bool OOD) |
| Set whether the information for this identifier is out of date with respect to the external source. | |
| bool | isImportKeyword () const |
Determine whether this is the contextual keyword import. | |
| void | setKeywordImport (bool Val) |
Set whether this identifier is the contextual keyword import. | |
| bool | isModuleKeyword () const |
Determine whether this is the contextual keyword module. | |
| void | setModuleKeyword (bool Val) |
Set whether this identifier is the contextual keyword module. | |
| bool | isMangledOpenMPVariantName () const |
| Determine whether this is the mangled name of an OpenMP variant. | |
| void | setMangledOpenMPVariantName (bool I) |
| Set whether this is the mangled name of an OpenMP variant. | |
| bool | isEditorPlaceholder () const |
| Return true if this identifier is an editor placeholder. | |
| ReservedIdentifierStatus | isReserved (const LangOptions &LangOpts) const |
Determine whether this is a name reserved for the implementation (C99 7.1.3, C++ [lib.global.names]). | |
| ReservedLiteralSuffixIdStatus | isReservedLiteralSuffixId () const |
Determine whether this is a name reserved for future standardization or the implementation (C++ [usrlit.suffix]). | |
| StringRef | deuglifiedName () const |
| If the identifier is an "uglified" reserved name, return a cleaned form. | |
| bool | isPlaceholder () const |
| bool | operator< (const IdentifierInfo &RHS) const |
| Provide less than operator for lexicographical sorting. | |
Friends | |
| class | IdentifierTable |
One of these records is kept for each identifier that is lexed.
This contains information about whether the token was #define'd, is a language keyword, or if it is a front-end token of some sort (e.g. a variable or function name). The preprocessor keeps this information in a set, and all tok::identifier tokens have a pointer to one of these. It is aligned to 8 bytes because DeclarationName needs the lower 3 bits.
Definition at line 168 of file IdentifierTable.h.
|
delete |
|
delete |
|
inline |
Definition at line 434 of file IdentifierTable.h.
References clang::NotInterestingIdentifier.
| StringRef IdentifierInfo::deuglifiedName | ( | ) | const |
If the identifier is an "uglified" reserved name, return a cleaned form.
e.g. _Foo => Foo. Otherwise, just returns the name.
Definition at line 396 of file IdentifierTable.cpp.
References getName().
Referenced by AddTemplateParameterChunks().
|
inline |
Return a value indicating whether this is a builtin function.
Definition at line 417 of file IdentifierTable.h.
References clang::Builtin::NotBuiltin, clang::NotBuiltin, clang::NotInterestingIdentifier, and clang::NUM_OBJC_KEYWORDS_AND_NOTABLE_IDENTIFIERS.
Referenced by clang::SemaARM::handleBuiltinAliasAttr(), handleBuiltinAliasAttr(), clang::ASTImporter::Import(), isInterestingIdentifier(), clang::Sema::LookupBuiltin(), and setBuiltinID().
|
inline |
Get and set FETokenInfo.
The language front-end is allowed to associate arbitrary metadata with this token.
Definition at line 521 of file IdentifierTable.h.
Referenced by isInterestingIdentifier().
|
inline |
Efficiently return the length of this identifier info.
Definition at line 304 of file IdentifierTable.h.
Referenced by AddObjCKeyValueCompletions(), CheckExtVectorComponent(), encodeTypeForFunctionPointerAuth(), getName(), getPPKeywordID(), getStandardSelLoc(), clang::Sema::isCurrentClassNameTypo(), isPlaceholder(), isStr(), and isStr().
|
inline |
Return the actual identifier string.
Definition at line 307 of file IdentifierTable.h.
References getLength(), and getNameStart().
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), clang::Sema::ActOnGCCAsmStmt(), clang::SemaOpenMP::ActOnOpenMPDeviceNum(), clang::Sema::ActOnPragmaMSAllocText(), clang::Sema::ActOnPragmaRedefineExtname(), clang::Sema::ActOnPragmaVisibility(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::comments::Sema::actOnTParamCommandParamNameArg(), clang::Sema::ActOnUsingEnumDeclaration(), clang::SimpleTypoCorrection::add(), clang::TypoCorrectionConsumer::addCorrection(), AddDefinedMacroToHash(), clang::ODRHash::AddIdentifierInfo(), clang::Sema::AddModeAttr(), AddObjCKeyValueCompletions(), AddObjCProperties(), clang::ento::AnyFunctionCall::argumentsMayEscape(), attributeAcceptsExprPack(), attributeHasIdentifierArg(), attributeHasStrictIdentifierArgs(), attributeHasVariadicIdentifierArg(), attributeIsTypeArgAttr(), attributeParsedArgsUnevaluated(), attributeStringLiteralListArg(), attributeTreatsKeywordThisAsIdentifier(), clang::ento::RetainSummaryManager::canEval(), checkAliasedGlobal(), CheckAvailability(), checkAvailabilityAttr(), clang::CheckEquivalentExceptionSpecImpl(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::checkLiteralOperatorId(), clang::Preprocessor::CheckMacroName(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::ClassifyName(), clang::SemaCodeCompletion::CodeCompleteAttribute(), clang::DeclarationName::compare(), clang::SelectorTable::constructSetterSelector(), clang::Sema::CorrectTypo(), createOverloadsForFixedParams(), clang::SemaHLSL::createSemanticAttr(), clang::Sema::DeclApplyPragmaWeak(), clang::CIRGen::decodeDeviceType(), deuglifiedName(), clang::SemaHLSL::diagnoseSystemSemanticAttr(), clang::Sema::DiagnoseUnknownTypeName(), clang::Preprocessor::emitMacroExpansionWarnings(), encodeTypeForFunctionPointerAuth(), EvaluateDefined(), EvaluateValue(), ExtractTypeTraitFromExpression(), fixParamWithSpan(), clang::ento::coreFoundation::followsCreateRule(), clang::FormatASTNodeDiagnosticArgument(), clang::Diagnostic::FormatDiagnostic(), clang::TypoCorrectionConsumer::FoundDecl(), clang::index::generateUSRForMacro(), clang::Selector::getAsString(), GetAssumedMessageSendExprType(), clang::ento::CheckerContext::getCalleeName(), getCalleeName(), clang::AttributeCommonInfo::getCXX11AttrArgsInfo(), clang::ObjCPropertyDecl::getDefaultSynthIvarName(), clang::Sema::getDestructorName(), GetFullTypeForDeclarator(), clang::IdentifierTable::getFutureCompatDiagKind(), getHostLayoutStructName(), clang::ento::ExprEngine::getInitialState(), clang::Selector::getInstTypeMethodFamily(), getMangledNameImpl(), getMangledNameImpl(), clang::MacroExpansion::getName(), clang::NamedDecl::getName(), clang::ObjCImplementationDecl::getName(), clang::Selector::getNameForSlot(), clang::AttributeCommonInfo::getScopeName(), clang::SemaOpenCL::handleAccessAttr(), handleArgumentWithTypeTagAttr(), clang::SemaSwift::handleAsyncAttr(), clang::SemaSwift::handleAsyncError(), handleAtomicAttr(), handleAvailabilityAttr(), clang::SemaObjC::handleBlocksAttr(), handleCallableWhenAttr(), handleCallbackAttr(), handleCFGuardAttr(), handleConsumableAttr(), handleCPUSpecificAttr(), clang::Preprocessor::HandleCXXImportDirective(), clang::Preprocessor::HandleCXXModuleDirective(), clang::Preprocessor::HandleDirective(), handleEnforceTCBAttr(), handleEnumExtensibilityAttr(), clang::SemaSwift::handleError(), handleFormatAttrCommon(), handleFormatMatchesAttr(), clang::Preprocessor::HandleIdentifier(), handleLoopHintAttr(), clang::SemaObjC::handleMethodFamilyAttr(), clang::SemaSwift::handleNewType(), handleNonBlockingNonAllocatingTypeAttr(), HandleOpenCLAccessAttr(), handleParamTypestateAttr(), clang::Preprocessor::HandlePragmaModuleBuild(), clang::Preprocessor::HandlePragmaPopMacro(), clang::SemaHLSL::handleResourceBindingAttr(), clang::SemaHLSL::handleResourceTypeAttr(), handleReturnTypestateAttr(), clang::SemaHLSL::handleSemanticAttr(), handleSetTypestateAttr(), clang::Preprocessor::HandleSkippedDirectiveWhileUsingPCH(), handleTestTypestateAttr(), handleVTablePointerAuthentication(), hasMatchingEnvironmentOrNone(), clang::Sema::ImplicitlyDefineFunction(), clang::ASTImporter::Import(), clang::CallGraph::includeCalleeInGraph(), InNamespace(), clang::Sema::InventAbbreviatedTemplateParameterTypeName(), IsAttributeLateParsedExperimentalExt(), IsAttributeLateParsedStandard(), clang::ento::CheckerContext::isCLibraryFunction(), isConfigurationPattern(), clang::Sema::isCurrentClassNameTypo(), isEditorPlaceholder(), clang::ASTStructuralEquivalence::isEquivalent(), clang::ento::CheckerContext::isHardenedVariantOf(), clang::ento::RetainSummaryManager::isKnownSmartPointer(), isReferenceCountingPointerDestructor(), isReserved(), isReservedLiteralSuffixId(), isStdStreamVar(), isTargetArch(), isTargetEnvironment(), isTargetOS(), isTargetVariantEnvironment(), isTargetVariantOS(), isTargetVendor(), clang::Preprocessor::LexEmbedParameters(), clang::Sema::LookupBuiltin(), InjectRootSignatureCallback::MacroDefined(), clang::detail::MacroExpansionRangeRecorder::MacroExpands(), clang::MacroPPCallbacks::MacroUndefined(), clang::MangleContext::mangleName(), clang::Sema::mergeAvailabilityAttr(), normalizeAttrScopeName(), normalizeName(), operator<(), clang::operator==(), parseDeclareSimdClauses(), clang::Sema::ParseLifetimeCaptureByAttr(), clang::Parser::ParseMSAsmIdentifier(), PragmaLoopHintString(), clang::DeclarationName::print(), PrintMacroDefinition(), clang::PrintingCodeCompleteConsumer::ProcessCodeCompleteResults(), clang::RewriteMacrosInInput(), clang::Sema::setTagNameForLinkagePurposes(), shouldInferAvailabilityAttribute(), shouldWarnOnMacroDef(), TryNamespaceTypoCorrection(), clang::ASTReader::updateOutOfDateIdentifier(), ValidateObjCLiteralInterfaceDecl(), clang::TextNodeDumper::VisitLoopControlStmt(), and clang::JSONNodeDumper::VisitMacroQualifiedType().
|
inline |
Return the beginning of the actual null-terminated string for this identifier.
Definition at line 301 of file IdentifierTable.h.
Referenced by CheckExtVectorComponent(), clang::Preprocessor::dumpMacroInfo(), getName(), clang::LabelStmt::getName(), getPPKeywordID(), isPlaceholder(), isStr(), isStr(), and clang::TextNodeDumper::VisitExtVectorElementExpr().
|
inline |
Definition at line 439 of file IdentifierTable.h.
References clang::NUM_OBJC_KEYWORDS, and clang::NUM_OBJC_KEYWORDS_AND_NOTABLE_IDENTIFIERS.
Referenced by isInterestingIdentifier(), and setNotableIdentifierID().
|
inline |
Return the Objective-C keyword ID for the this identifier.
For example, 'class' will return tok::objc_class if ObjC is enabled.
Definition at line 403 of file IdentifierTable.h.
References clang::NUM_OBJC_KEYWORDS.
Referenced by clang::Token::getObjCKeywordID(), isInterestingIdentifier(), and setObjCKeywordID().
|
inline |
Definition at line 459 of file IdentifierTable.h.
| tok::PPKeywordKind IdentifierInfo::getPPKeywordID | ( | ) | const |
Return the preprocessor keyword ID for this identifier.
For example, "define" will return tok::pp_define.
Definition at line 404 of file IdentifierTable.cpp.
References CASE, getLength(), getNameStart(), HASH, isImportKeyword(), and isModuleKeyword().
Referenced by clang::Preprocessor::CheckMacroName(), diagnoseAutoModuleImport(), clang::Preprocessor::HandleDirective(), and clang::Preprocessor::HandleSkippedDirectiveWhileUsingPCH().
|
inline |
If this is a source-language token (e.g.
'for'), this API can be used to cause the lexer to map identifiers to source-language tokens.
Definition at line 373 of file IdentifierTable.h.
Referenced by DiagnoseCallingConvCast(), clang::Preprocessor::HandleIdentifier(), isKeyword(), clang::TokenLexer::Lex(), clang::Preprocessor::LookUpIdentifierInfo(), clang::serialization::reader::ASTIdentifierLookupTrait::ReadData(), and clang::syntax::tokenize().
|
inline |
Returns true if this identifier was #defined to some value at any moment.
In this case there should be an entry for the identifier in the macro history table in Preprocessor.
Definition at line 338 of file IdentifierTable.h.
Referenced by checkConfigMacro(), clang::Preprocessor::getLocalMacroDirectiveHistory(), clang::Preprocessor::getMacroDefinitionAtLoc(), and isInterestingIdentifier().
|
inline |
Determine whether this identifier has changed since it was loaded from an AST file.
Definition at line 540 of file IdentifierTable.h.
|
inline |
Determine whether the frontend token information for this identifier has changed since it was loaded from an AST file.
Definition at line 552 of file IdentifierTable.h.
|
inline |
Return true if this identifier is #defined to some other value.
Definition at line 313 of file IdentifierTable.h.
Referenced by clang::Preprocessor::getLocalMacroDirective(), clang::Preprocessor::getMacroDefinition(), clang::Preprocessor::getMacroInfo(), clang::Preprocessor::isMacroDefined(), and clang::Preprocessor::isMacroDefinedInLocalModule().
|
inline |
True if revertTokenIDToIdentifier() was called.
Definition at line 376 of file IdentifierTable.h.
Referenced by isInterestingIdentifier().
| bool IdentifierInfo::isCPlusPlusKeyword | ( | const LangOptions & | LangOpts | ) | const |
Return true if this token is a C++ keyword in the specified language.
Returns true if the identifier represents a C++ keyword in the specified language.
Definition at line 335 of file IdentifierTable.cpp.
References isKeyword().
|
inline |
Definition at line 506 of file IdentifierTable.h.
Referenced by clang::Preprocessor::CheckMacroName(), EvaluateValue(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().
|
inline |
Definition at line 342 of file IdentifierTable.h.
Referenced by clang::Preprocessor::emitMacroExpansionWarnings().
|
inline |
Return true if this identifier is an editor placeholder.
Editor placeholders are produced by the code-completion engine and are represented as characters between '<#' and '#>' in the source code. An example of auto-completed call with a placeholder parameter is shown below:
Definition at line 615 of file IdentifierTable.h.
References getName().
Referenced by clang::Sema::ActOnIdExpression(), clang::Sema::BuildCXXNestedNameSpecifier(), and clang::Sema::DiagnoseUnknownTypeName().
|
inline |
get/setExtension - Initialize information about whether or not this language token is an extension.
This controls extension warnings, and is only valid if a custom token ID is set.
Definition at line 465 of file IdentifierTable.h.
Referenced by clang::Preprocessor::HandleIdentifier(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().
|
inline |
Definition at line 366 of file IdentifierTable.h.
|
inline |
Return true if the identifier in its current state was loaded from an AST file.
Definition at line 534 of file IdentifierTable.h.
Referenced by clang::Preprocessor::appendMacroDirective(), clang::Preprocessor::HandlePragmaPoison(), and markIdentifierFromAST().
|
inline |
is/setIsFutureCompatKeyword - Initialize information about whether or not this language token is a keyword in a newer or proposed Standard.
This controls compatibility warnings, and is only true when not parsing the corresponding Standard. Once a compatibility problem has been diagnosed with this keyword, the flag will be cleared.
Definition at line 479 of file IdentifierTable.h.
Referenced by clang::IdentifierTable::getFutureCompatDiagKind(), and clang::Preprocessor::HandleIdentifier().
|
inline |
Return true if the Preprocessor::HandleIdentifier must be called on a token of this identifier.
If this returns false, we know that HandleIdentifier will not affect the token.
Definition at line 529 of file IdentifierTable.h.
Referenced by clang::TokenLexer::Lex().
|
inline |
Determine whether this is the contextual keyword import.
Definition at line 577 of file IdentifierTable.h.
Referenced by getPPKeywordID(), and clang::Preprocessor::HandleIdentifier().
| bool IdentifierInfo::isKeyword | ( | const LangOptions & | LangOpts | ) | const |
Return true if this token is a keyword in the specified language.
Returns true if the identifier represents a keyword in the specified language.
Definition at line 323 of file IdentifierTable.cpp.
References getTokenID(), getTokenKwStatus(), clang::KS_Enabled, and clang::KS_Extension.
Referenced by DiagnoseCallingConvCast(), highlightLines(), isConfigurationPattern(), isCPlusPlusKeyword(), clang::Token::isSimpleTypeSpecifier(), and shouldWarnOnMacroDef().
|
inline |
Return true if this identifier would be a keyword in C++ mode.
Definition at line 509 of file IdentifierTable.h.
Referenced by clang::Preprocessor::HandleIdentifier().
|
inline |
Determine whether this is the mangled name of an OpenMP variant.
Definition at line 601 of file IdentifierTable.h.
|
inline |
Determine whether this is the contextual keyword module.
Definition at line 589 of file IdentifierTable.h.
Referenced by getPPKeywordID().
|
inline |
Determine whether the information for this identifier is out of date with respect to the external source.
Definition at line 564 of file IdentifierTable.h.
Referenced by clang::HeaderFileInfo::getControllingMacro(), clang::Preprocessor::getLeafModuleMacros(), clang::Preprocessor::HandleIdentifier(), isTrivialSingleTokenExpansion(), and clang::ASTReader::ReadDefinedMacros().
|
inline |
Definition at line 630 of file IdentifierTable.h.
References getLength(), and getNameStart().
Referenced by clang::Sema::ActOnDecompositionDeclarator(), and clang::Sema::ActOnVariableDeclarator().
|
inline |
Return true if this token has been poisoned.
Definition at line 499 of file IdentifierTable.h.
Referenced by clang::Preprocessor::HandleIdentifier(), clang::Preprocessor::HandlePragmaPoison(), isInterestingIdentifier(), and clang::TokenLexer::Lex().
| ReservedIdentifierStatus IdentifierInfo::isReserved | ( | const LangOptions & | LangOpts | ) | const |
Determine whether this is a name reserved for the implementation (C99 7.1.3, C++ [lib.global.names]).
Definition at line 348 of file IdentifierTable.cpp.
References clang::ContainsDoubleUnderscore, getName(), clang::NotReserved, clang::StartsWithDoubleUnderscore, and clang::StartsWithUnderscoreAtGlobalScope.
Referenced by clang::Sema::checkLiteralOperatorId(), DiagReservedModuleName(), clang::NamedDecl::isReserved(), shouldWarnOnMacroDef(), and shouldWarnOnMacroUndef().
| ReservedLiteralSuffixIdStatus IdentifierInfo::isReservedLiteralSuffixId | ( | ) | const |
Determine whether this is a name reserved for future standardization or the implementation (C++ [usrlit.suffix]).
Definition at line 381 of file IdentifierTable.cpp.
References clang::ContainsDoubleUnderscore, getName(), clang::NotReserved, and clang::NotStartsWithUnderscore.
Referenced by clang::Sema::CheckLiteralOperatorDeclaration(), and clang::Sema::checkLiteralOperatorId().
|
inline |
Definition at line 354 of file IdentifierTable.h.
Referenced by clang::Preprocessor::emitMacroExpansionWarnings().
|
inline |
Return true if this is the identifier for the specified string.
This is intended to be used for string literals only: II->isStr("foo").
Definition at line 288 of file IdentifierTable.h.
References getLength(), and getNameStart().
Referenced by clang::SemaObjC::ActOnClassPropertyRefExpr(), clang::Sema::ActOnStartNamespaceDef(), clang::Sema::ActOnTag(), clang::Sema::ActOnUsingDirective(), clang::Sema::AddKnownFunctionAttributes(), clang::ento::AnyFunctionCall::argumentsMayEscape(), clang::ento::ObjCMethodCall::argumentsMayEscape(), clang::ento::RetainSummaryManager::canEval(), checkFormatStringExpr(), diagnoseBadTypeAttribute(), DiagReservedModuleName(), EvaluateValue(), clang::findCapturingExpr(), clang::FunctionDecl::getMemoryFunctionKind(), clang::interp::InterpState::getStdAllocatorCaller(), handleAvailabilityAttr(), clang::SemaObjC::handleBridgeAttr(), handleLoopHintAttr(), clang::Preprocessor::HandleModuleContextualKeyword(), handleObjCGCTypeAttr(), handleObjCOwnershipTypeAttr(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::interp::interp__builtin_is_within_lifetime(), clang::Type::isAlignValT(), IsDeclSourceLocationCurrent(), isDestroyingDeleteT(), isEnableIf(), clang::TypoCorrection::isKeyword(), clang::Sema::isLibstdcxxEagerExceptionSpecHack(), isMainVar(), isNamed(), clang::Type::isNothrowT(), isObjCProtectedMacro(), clang::Type::isStdByteType(), IsStdFunction(), clang::DeclContext::isStdNamespace(), clang::FunctionDecl::isUsableAsGlobalAllocationFunctionInConstantEvaluation(), isWideStringLiteralFromMacro(), clang::Preprocessor::LexOnOffSwitch(), ParseAlignPragma(), clang::Preprocessor::ParsePragmaPushOrPopMacro(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), and typeContainsPointer().
|
inline |
Return true if this is the identifier for the specified StringRef.
Definition at line 294 of file IdentifierTable.h.
References getLength(), and getNameStart().
|
inline |
Provide less than operator for lexicographical sorting.
Definition at line 635 of file IdentifierTable.h.
References getName().
|
delete |
|
delete |
|
inline |
Definition at line 389 of file IdentifierTable.h.
|
inline |
Revert TokenID to tok::identifier; used for GNU libstdc++ 4.2 compatibility.
TokenID is normally read-only but there are 2 instances where we revert it to tok::identifier for libstdc++ 4.2. Keep track of when this happens using this method so we can inform serialization about it.
Definition at line 384 of file IdentifierTable.h.
Referenced by clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().
|
inline |
Definition at line 428 of file IdentifierTable.h.
References getBuiltinID(), clang::Builtin::NotBuiltin, and clang::NotBuiltin.
Referenced by clang::ASTImporter::Import(), and clang::Builtin::Context::initializeBuiltins().
|
inline |
Note that this identifier has changed since it was loaded from an AST file.
Definition at line 546 of file IdentifierTable.h.
Referenced by clang::Preprocessor::appendMacroDirective(), clang::Preprocessor::HandlePragmaPoison(), and markIdentifierFromAST().
|
inline |
Definition at line 522 of file IdentifierTable.h.
References clang::T.
|
inline |
Note that the frontend token information for this identifier has changed since it was loaded from an AST file.
Definition at line 558 of file IdentifierTable.h.
Definition at line 530 of file IdentifierTable.h.
Referenced by MarkIdentifierAsKeywordInCpp().
|
inline |
Definition at line 316 of file IdentifierTable.h.
Referenced by clang::Preprocessor::addModuleMacro(), clang::Preprocessor::appendMacroDirective(), and clang::Preprocessor::setLoadedMacroDirective().
isCPlusPlusOperatorKeyword/setIsCPlusPlusOperatorKeyword controls whether this identifier is a C++ alternate representation of an operator.
Definition at line 503 of file IdentifierTable.h.
Referenced by AddCXXOperatorKeyword().
|
inline |
Definition at line 344 of file IdentifierTable.h.
|
inline |
Definition at line 466 of file IdentifierTable.h.
Referenced by AddKeyword().
|
inline |
Definition at line 368 of file IdentifierTable.h.
|
inline |
Definition at line 536 of file IdentifierTable.h.
Referenced by markIdentifierFromAST().
|
inline |
Definition at line 480 of file IdentifierTable.h.
Referenced by AddKeyword(), and clang::Preprocessor::HandleIdentifier().
Definition at line 510 of file IdentifierTable.h.
Referenced by MarkIdentifierAsKeywordInCpp().
setIsPoisoned - Mark this identifier as poisoned.
After poisoning, the Preprocessor will emit an error every time this token is used.
Definition at line 490 of file IdentifierTable.h.
Referenced by clang::Preprocessor::HandleIdentifier(), clang::Preprocessor::HandlePragmaPoison(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().
|
inline |
Definition at line 356 of file IdentifierTable.h.
|
inline |
Set whether this identifier is the contextual keyword import.
Definition at line 580 of file IdentifierTable.h.
Referenced by clang::IdentifierTable::AddKeywords(), and clang::IdentifierTable::getOwn().
|
inline |
Set whether this is the mangled name of an OpenMP variant.
Definition at line 604 of file IdentifierTable.h.
Referenced by clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope().
|
inline |
Set whether this identifier is the contextual keyword module.
Definition at line 592 of file IdentifierTable.h.
Referenced by clang::IdentifierTable::AddKeywords(), and clang::IdentifierTable::getOwn().
|
inline |
Definition at line 451 of file IdentifierTable.h.
References getNotableIdentifierID(), and clang::NUM_OBJC_KEYWORDS.
Referenced by AddNotableIdentifier().
|
inline |
Definition at line 410 of file IdentifierTable.h.
References getObjCKeywordID().
Referenced by AddObjCKeyword().
|
inline |
Definition at line 460 of file IdentifierTable.h.
Referenced by clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().
|
inline |
Set whether the information for this identifier is out of date with respect to the external source.
Definition at line 568 of file IdentifierTable.h.
Referenced by clang::ASTReader::ReadAST().
|
friend |
Definition at line 169 of file IdentifierTable.h.
References false, IdentifierTable, clang::InterestingIdentifierBits, and clang::NotInterestingIdentifier.
Referenced by IdentifierTable.