clang 8.0.0

Public Member Functions | Friends | List of all members
clang::IdentifierInfo Class Reference

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. More...
bool | isStr (llvm::StringRef Str) const
| Return true if this is the identifier for the specified StringRef. More...
const char * | getNameStart () const
| Return the beginning of the actual null-terminated string for this identifier. More...
unsigned | getLength () const
| Efficiently return the length of this identifier info. More...
StringRef | getName () const
| Return the actual identifier string. More...
bool | hasMacroDefinition () const
| Return true if this identifier is #defined to some other value. More...
void | setHasMacroDefinition (bool Val)
bool | hadMacroDefinition () const
| Returns true if this identifier was #defined to some value at any moment. More...
tok::TokenKind | getTokenID () const
| If this is a source-language token (e.g. More...
bool | hasRevertedTokenIDToIdentifier () const
| True if revertTokenIDToIdentifier() was called. More...
void | revertTokenIDToIdentifier ()
| Revert TokenID to tok::identifier; used for GNU libstdc++ 4.2 compatibility. More...
void | revertIdentifierToTokenID (tok::TokenKind TK)
tok::PPKeywordKind | getPPKeywordID () const
| Return the preprocessor keyword ID for this identifier. More...
tok::ObjCKeywordKind | getObjCKeywordID () const
| Return the Objective-C keyword ID for the this identifier. More...
void | setObjCKeywordID (tok::ObjCKeywordKind ID)
bool | hasRevertedBuiltin () const
| True if setNotBuiltin() was called. More...
void | revertBuiltin ()
| Revert the identifier to a non-builtin identifier. More...
unsigned | getBuiltinID () const
| Return a value indicating whether this is a builtin function. More...
void | setBuiltinID (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. More...
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. More...
void | setIsFutureCompatKeyword (bool Val)
void | setIsPoisoned (bool Value=true)
| setIsPoisoned - Mark this identifier as poisoned. More...
bool | isPoisoned () const
| Return true if this token has been poisoned. More...
void | setIsCPlusPlusOperatorKeyword (bool Val=true)
| isCPlusPlusOperatorKeyword/setIsCPlusPlusOperatorKeyword controls whether this identifier is a C++ alternate representation of an operator. More...
bool | isCPlusPlusOperatorKeyword () const
bool | isKeyword (const LangOptions &LangOpts) const
| Return true if this token is a keyword in the specified language. More...
bool | isCPlusPlusKeyword (const LangOptions &LangOpts) const
| Return true if this token is a C++ keyword in the specified language. More...
void * | getFETokenInfo () const
| Get and set FETokenInfo. More...
void | setFETokenInfo (void *T)
bool | isHandleIdentifierCase () const
| Return true if the Preprocessor::HandleIdentifier must be called on a token of this identifier. More...
bool | isFromAST () const
| Return true if the identifier in its current state was loaded from an AST file. More...
void | setIsFromAST ()
bool | hasChangedSinceDeserialization () const
| Determine whether this identifier has changed since it was loaded from an AST file. More...
void | setChangedSinceDeserialization ()
| Note that this identifier has changed since it was loaded from an AST file. More...
bool | hasFETokenInfoChangedSinceDeserialization () const
| Determine whether the frontend token information for this identifier has changed since it was loaded from an AST file. More...
void | setFETokenInfoChangedSinceDeserialization ()
| Note that the frontend token information for this identifier has changed since it was loaded from an AST file. More...
bool | isOutOfDate () const
| Determine whether the information for this identifier is out of date with respect to the external source. More...
void | setOutOfDate (bool OOD)
| Set whether the information for this identifier is out of date with respect to the external source. More...
bool | isModulesImport () const
| Determine whether this is the contextual keyword `import`. More...
void | setModulesImport (bool I)
| Set whether this identifier is the contextual keyword `import`. More...
bool | isEditorPlaceholder () const
| Return true if this identifier is an editor placeholder. More...
bool | operator< (const IdentifierInfo &RHS) const
| Provide less than operator for lexicographical sorting. More...

## Friends
class | IdentifierTable

## Detailed Description

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 58 of file IdentifierTable.h.

## Constructor & Destructor Documentation

## ◆ IdentifierInfo() [1/2]

clang::IdentifierInfo::IdentifierInfo | ( | const IdentifierInfo & |  | ) |
| delete

## ◆ IdentifierInfo() [2/2]

clang::IdentifierInfo::IdentifierInfo | ( | IdentifierInfo && |  | ) |
| delete

## Member Function Documentation

## ◆ getBuiltinID()

unsigned clang::IdentifierInfo::getBuiltinID | ( |  | ) | const
| inline

Return a value indicating whether this is a builtin function.

0 is not-built-in. 1+ are specific builtin functions.

Definition at line 239 of file IdentifierTable.h.

References clang::tok::NUM_OBJC_KEYWORDS.

Referenced by clang::FunctionDecl::getBuiltinID(), clang::ASTImporter::Import(), isTargetEnvironment(), LookupBuiltin(), ParseLoopHintValue(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ getFETokenInfo()

void* clang::IdentifierInfo::getFETokenInfo | ( |  | ) | const
| inline

Get and set FETokenInfo.

The language front-end is allowed to associate arbitrary metadata with this token.

Definition at line 309 of file IdentifierTable.h.

Referenced by getDeclForLocalLookup(), and isInterestingIdentifier().

## ◆ getLength()

unsigned clang::IdentifierInfo::getLength | ( |  | ) | const
| inline

Efficiently return the length of this identifier info.

Definition at line 153 of file IdentifierTable.h.

Referenced by getDeclForLocalLookup(), clang::Sema::isCurrentClassNameTypo(), and isReservedName().

## ◆ getName()

StringRef clang::IdentifierInfo::getName | ( |  | ) | const
| inline

Return the actual identifier string.

Definition at line 156 of file IdentifierTable.h.

Referenced by clang::Sema::ActOnPragmaVisibility(), clang::Sema::ActOnTemplateIdType(), AddDefinedMacroToHash(), clang::ODRHash::AddIdentifierInfo(), appendEnumType(), appendRecordType(), clang::ento::AnyFunctionCall::argumentsMayEscape(), attributeHasIdentifierArg(), attributeHasVariadicIdentifierArg(), attributeIsTypeArgAttr(), attributeParsedArgsUnevaluated(), CheckArrayDesignatorSyntax(), CheckAvailabilitySpecList(), clang::Sema::checkStringLiteralArgumentAttr(), clang::DeclarationName::compare(), DetectEOL(), DiagnoseNamespaceInlineMismatch(), distributeNullabilityTypeAttr(), findKnownClass(), clang::ento::coreFoundation::followsCreateRule(), formatBlockPlaceholder(), FormatFunctionParameter(), clang::index::generateUSRForMacro(), clang::index::CodegenNameGenerator::Implementation::getAllManglings(), clang::Selector::getAsString(), GetAssumedMessageSendExprType(), getCalleeName(), clang::ento::CheckerContext::getCalleeName(), getCCTypeAttr(), clang::Preprocessor::getCodeCompletionFilter(), getDeclForLocalLookup(), clang::ObjCPropertyDecl::getDefaultSynthIvarName(), getExpressionTraitName(), clang::arcmt::getFileRemappings(), getFutureCompatDiagKind(), getIdentifier(), clang::ento::ExprEngine::getInitialState(), clang::Selector::getInstTypeMethodFamily(), getMangledNameImpl(), clang::MacroExpansion::getName(), clang::Selector::getNameForSlot(), clang::getParameterABISpelling(), handleObjCOwnershipTypeAttr(), HandleOpenCLAccessAttr(), clang::PragmaNamespace::HandlePragma(), clang::Preprocessor::HandlePragmaModuleBuild(), clang::Preprocessor::HandlePragmaPopMacro(), clang::ASTImporter::Import(), clang::CallGraph::includeInGraph(), InNamespace(), isAttributeLateParsed(), isBetterMultiversionCandidate(), IsBuiltInOrStandardCXX11Attribute(), isCharSpecialization(), clang::ento::cocoa::isCocoaObjectRef(), isConfigurationPattern(), clang::Sema::isCurrentClassNameTypo(), isImplicitThis(), isOSObjectRelated(), clang::PrintingCodeCompleteConsumer::isResultFilteredOut(), IsStructurallyEquivalent(), isTargetArch(), isTargetEnvironment(), isTargetOS(), isTargetVendor(), isValidAfterIdentifierInDeclarator(), clang::Preprocessor::LexOnOffSwitch(), LookupMethodInReceiverType(), clang::MacroPPCallbacks::MacroUndefined(), clang::MangleContext::mangleGlobalBlock(), clang::MangleContext::mangleName(), clang::analyze_format_string::FormatSpecifier::namedTypeToLengthModifier(), operator<(), ParseAlignPragma(), parseDeclareSimdClauses(), ParseLoopHintValue(), clang::Parser::ParseMSAsmIdentifier(), PragmaLoopHintString(), clang::NestedNameSpecifier::print(), PrintFloatingLiteral(), PrintMacroDefinition(), clang::RewriteMacrosInInput(), rewriteToNSEnumDecl(), rewriteToNSMacroDecl(), shouldWarnOnMacroDef(), shouldWarnOnMacroUndef(), startsWithWord(), TryNamespaceTypoCorrection(), clang::ASTReader::updateOutOfDateIdentifier(), and VersionNumberSeparator().

## ◆ getNameStart()

const char* clang::IdentifierInfo::getNameStart | ( |  | ) | const
| inline

Return the beginning of the actual null-terminated string for this identifier.

Definition at line 150 of file IdentifierTable.h.

Referenced by clang::Preprocessor::checkModuleIsAvailable(), diagnoseRedundantPropertyNullability(), clang::Preprocessor::dumpMacroInfo(), getDeclForLocalLookup(), and clang::TextNodeDumper::VisitExtVectorElementExpr().

## ◆ getObjCKeywordID()

tok::ObjCKeywordKind clang::IdentifierInfo::getObjCKeywordID | ( |  | ) | const
| 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 216 of file IdentifierTable.h.

References clang::tok::NUM_OBJC_KEYWORDS.

Referenced by clang::Token::getObjCKeywordID().

## ◆ getObjCOrBuiltinID()

unsigned clang::IdentifierInfo::getObjCOrBuiltinID | ( |  | ) | const
| inline

Definition at line 251 of file IdentifierTable.h.

Referenced by getDeclForLocalLookup(), isInterestingIdentifier(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ getPPKeywordID()

tok::PPKeywordKind IdentifierInfo::getPPKeywordID | ( |  | ) | const

Return the preprocessor keyword ID for this identifier.

For example, "define" will return tok::pp_define.

Definition at line 263 of file IdentifierTable.cpp.

Referenced by clang::Preprocessor::CheckMacroName(), DetectEOL(), diagnoseAutoModuleImport(), clang::PreprocessingRecord::findMacroDefinition(), clang::Preprocessor::HandleDirective(), clang::format::FormatToken::is(), and PrintMacroDefinition().

## ◆ getTokenID()

tok::TokenKind clang::IdentifierInfo::getTokenID | ( |  | ) | const
| 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 186 of file IdentifierTable.h.

Referenced by DiagnoseCallingConvCast(), isTargetEnvironment(), isValidAfterIdentifierInDeclarator(), clang::TokenLexer::Lex(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ hadMacroDefinition()

bool clang::IdentifierInfo::hadMacroDefinition | ( |  | ) | const
| 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 179 of file IdentifierTable.h.

Referenced by checkConfigMacro(), clang::Preprocessor::getLocalMacroDirectiveHistory(), clang::Preprocessor::getMacroDefinitionAtLoc(), and isInterestingIdentifier().

## ◆ hasChangedSinceDeserialization()

bool clang::IdentifierInfo::hasChangedSinceDeserialization | ( |  | ) | const
| inline

Determine whether this identifier has changed since it was loaded from an AST file.

Definition at line 327 of file IdentifierTable.h.

Referenced by AddLazyVectorDecls().

## ◆ hasFETokenInfoChangedSinceDeserialization()

bool clang::IdentifierInfo::hasFETokenInfoChangedSinceDeserialization | ( |  | ) | const
| inline

Determine whether the frontend token information for this identifier has changed since it was loaded from an AST file.

Definition at line 339 of file IdentifierTable.h.

## ◆ hasMacroDefinition()

bool clang::IdentifierInfo::hasMacroDefinition | ( |  | ) | const
| inline

Return true if this identifier is #defined to some other value.

Note
  The current definition may be in a module and not currently visible.

Definition at line 162 of file IdentifierTable.h.

Referenced by clang::Preprocessor::getLocalMacroDirective(), clang::Preprocessor::getMacroDefinition(), clang::Preprocessor::getMacroInfo(), clang::NSAPI::isMacroDefined(), clang::Preprocessor::isMacroDefined(), and clang::Preprocessor::isMacroDefinedInLocalModule().

## ◆ hasRevertedBuiltin()

bool clang::IdentifierInfo::hasRevertedBuiltin | ( |  | ) | const
| inline

True if setNotBuiltin() was called.

Definition at line 225 of file IdentifierTable.h.

References clang::tok::NUM_OBJC_KEYWORDS.

Referenced by getDeclForLocalLookup(), isInterestingIdentifier(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ hasRevertedTokenIDToIdentifier()

bool clang::IdentifierInfo::hasRevertedTokenIDToIdentifier | ( |  | ) | const
| inline

True if revertTokenIDToIdentifier() was called.

Definition at line 189 of file IdentifierTable.h.

Referenced by getDeclForLocalLookup(), and isInterestingIdentifier().

## ◆ isCPlusPlusKeyword()

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

Referenced by getMissingDeclaratorIdLoc().

## ◆ isCPlusPlusOperatorKeyword()

bool clang::IdentifierInfo::isCPlusPlusOperatorKeyword | ( |  | ) | const
| inline

Definition at line 298 of file IdentifierTable.h.

Referenced by clang::Preprocessor::CheckMacroName(), EvaluateValue(), getDeclForLocalLookup(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ isEditorPlaceholder()

bool clang::IdentifierInfo::isEditorPlaceholder | ( |  | ) | const
| 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:

function(<#int x#>);

Definition at line 384 of file IdentifierTable.h.

References clang::CodeGen::getName().

## ◆ isExtensionToken()

bool clang::IdentifierInfo::isExtensionToken | ( |  | ) | const
| 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 257 of file IdentifierTable.h.

Referenced by getDeclForLocalLookup(), and clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ isFromAST()

bool clang::IdentifierInfo::isFromAST | ( |  | ) | const
| inline

Return true if the identifier in its current state was loaded from an AST file.

Definition at line 321 of file IdentifierTable.h.

Referenced by AddLazyVectorDecls(), clang::Preprocessor::appendMacroDirective(), clang::Preprocessor::HandlePragmaPoison(), and markIdentifierFromAST().

## ◆ isFutureCompatKeyword()

bool clang::IdentifierInfo::isFutureCompatKeyword | ( |  | ) | const
| 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 271 of file IdentifierTable.h.

Referenced by getFutureCompatDiagKind().

## ◆ isHandleIdentifierCase()

bool clang::IdentifierInfo::isHandleIdentifierCase | ( |  | ) | const
| 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 317 of file IdentifierTable.h.

Referenced by clang::TokenLexer::Lex(), and maybeDiagnoseUTF8Homoglyph().

## ◆ isKeyword()

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

References getTokenKwStatus().

Referenced by DiagnoseCallingConvCast(), and shouldWarnOnMacroDef().

## ◆ isModulesImport()

bool clang::IdentifierInfo::isModulesImport | ( |  | ) | const
| inline

Determine whether this is the contextual keyword `import`.

Definition at line 364 of file IdentifierTable.h.

## ◆ isOutOfDate()

bool clang::IdentifierInfo::isOutOfDate | ( |  | ) | const
| inline

Determine whether the information for this identifier is out of date with respect to the external source.

Definition at line 351 of file IdentifierTable.h.

Referenced by clang::HeaderFileInfo::getControllingMacro(), getFutureCompatDiagKind(), clang::Preprocessor::getLeafModuleMacros(), isTrivialSingleTokenExpansion(), and clang::ASTReader::ReadDefinedMacros().

## ◆ isPoisoned()

bool clang::IdentifierInfo::isPoisoned | ( |  | ) | const
| inline

Return true if this token has been poisoned.

Definition at line 291 of file IdentifierTable.h.

Referenced by getDeclForLocalLookup(), clang::Preprocessor::HandleIdentifier(), clang::Preprocessor::HandlePragmaPoison(), isInterestingIdentifier(), clang::TokenLexer::Lex(), clang::Preprocessor::MaybeHandlePoisonedIdentifier(), and clang::VariadicMacroScopeGuard::VariadicMacroScopeGuard().

## ◆ isStr() [1/2]

template<std::size_t StrLen>

bool clang::IdentifierInfo::isStr | ( | const char(&) | Str[StrLen] | ) | const
| 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 137 of file IdentifierTable.h.

Referenced by clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::ActOnStartNamespaceDef(), clang::Sema::ActOnUsingDirective(), clang::ento::AnyFunctionCall::argumentsMayEscape(), clang::ObjCMethodCall::argumentsMayEscape(), clang::Sema::ConversionToObjCStringLiteralCheck(), DetectEOL(), diagnoseRedundantPropertyNullability(), EvaluateValue(), findCapturingExpr(), clang::FunctionDecl::getMemoryFunctionKind(), handleObjCGCTypeAttr(), handleObjCOwnershipTypeAttr(), clang::TemplateDeclInstantiator::InstantiateEnumDefinition(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Type::isAlignValT(), IsBuiltInOrStandardCXX11Attribute(), clang::CallExpr::isCallToStdMove(), isConfigurationPattern(), isDebuggingContext(), isEnableIf(), clang::ParsedAttr::isGNUScope(), clang::TypoCorrection::isKeyword(), clang::Sema::isLibstdcxxEagerExceptionSpecHack(), isNamed(), isStd(), clang::Type::isStdByteType(), IsStdFunction(), clang::DeclContext::isStdNamespace(), isStreamCharSpecialization(), isWideStringLiteralFromMacro(), clang::Preprocessor::LexOnOffSwitch(), LookupMemberExpr(), ParseAlignPragma(), ParseLoopHintValue(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), takeDeclAttributes(), and VersionNumberSeparator().

## ◆ isStr() [2/2]

bool clang::IdentifierInfo::isStr | ( | llvm::StringRef | Str | ) | const
| inline

Return true if this is the identifier for the specified StringRef.

Definition at line 143 of file IdentifierTable.h.

## ◆ operator<()

bool clang::IdentifierInfo::operator< | ( | const IdentifierInfo & | RHS | ) | const
| inline

Provide less than operator for lexicographical sorting.

Definition at line 389 of file IdentifierTable.h.

References getName(), and clang::CodeGen::getName().

## ◆ operator=() [1/2]

IdentifierInfo& clang::IdentifierInfo::operator= | ( | const IdentifierInfo & |  | ) |
| delete

## ◆ operator=() [2/2]

IdentifierInfo& clang::IdentifierInfo::operator= | ( | IdentifierInfo && |  | ) |
| delete

## ◆ revertBuiltin()

void clang::IdentifierInfo::revertBuiltin | ( |  | ) |
| inline

Revert the identifier to a non-builtin identifier.

We do this if the name of a known builtin library function is used to declare that function, but an unexpected type is specified.

Definition at line 232 of file IdentifierTable.h.

Referenced by clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ revertIdentifierToTokenID()

void clang::IdentifierInfo::revertIdentifierToTokenID | ( | tok::TokenKind | TK | ) |
| inline

Definition at line 202 of file IdentifierTable.h.

## ◆ revertTokenIDToIdentifier()

void clang::IdentifierInfo::revertTokenIDToIdentifier | ( |  | ) |
| 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 197 of file IdentifierTable.h.

Referenced by clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ setBuiltinID()

void clang::IdentifierInfo::setBuiltinID | ( | unsigned | ID | ) |
| inline

Definition at line 245 of file IdentifierTable.h.

References clang::tok::NUM_OBJC_KEYWORDS.

Referenced by clang::ASTImporter::Import().

## ◆ setChangedSinceDeserialization()

void clang::IdentifierInfo::setChangedSinceDeserialization | ( |  | ) |
| inline

Note that this identifier has changed since it was loaded from an AST file.

Definition at line 333 of file IdentifierTable.h.

Referenced by clang::Preprocessor::appendMacroDirective(), clang::Preprocessor::HandlePragmaPoison(), and markIdentifierFromAST().

## ◆ setFETokenInfo()

void clang::IdentifierInfo::setFETokenInfo | ( | void * | T | ) |
| inline

Definition at line 310 of file IdentifierTable.h.

## ◆ setFETokenInfoChangedSinceDeserialization()

void clang::IdentifierInfo::setFETokenInfoChangedSinceDeserialization | ( |  | ) |
| inline

Note that the frontend token information for this identifier has changed since it was loaded from an AST file.

Definition at line 345 of file IdentifierTable.h.

## ◆ setHasMacroDefinition()

void clang::IdentifierInfo::setHasMacroDefinition | ( | bool | Val | ) |
| inline

Definition at line 165 of file IdentifierTable.h.

Referenced by clang::Preprocessor::addModuleMacro(), clang::Preprocessor::appendMacroDirective(), and clang::Preprocessor::setLoadedMacroDirective().

## ◆ setIsCPlusPlusOperatorKeyword()

void clang::IdentifierInfo::setIsCPlusPlusOperatorKeyword | ( | bool | Val = `true` | ) |
| inline

isCPlusPlusOperatorKeyword/setIsCPlusPlusOperatorKeyword controls whether this identifier is a C++ alternate representation of an operator.

Definition at line 295 of file IdentifierTable.h.

Referenced by AddCXXOperatorKeyword().

## ◆ setIsExtensionToken()

void clang::IdentifierInfo::setIsExtensionToken | ( | bool | Val | ) |
| inline

Definition at line 258 of file IdentifierTable.h.

Referenced by AddKeyword().

## ◆ setIsFromAST()

void clang::IdentifierInfo::setIsFromAST | ( |  | ) |
| inline

Definition at line 323 of file IdentifierTable.h.

Referenced by markIdentifierFromAST().

## ◆ setIsFutureCompatKeyword()

void clang::IdentifierInfo::setIsFutureCompatKeyword | ( | bool | Val | ) |
| inline

Definition at line 272 of file IdentifierTable.h.

Referenced by AddKeyword().

## ◆ setIsPoisoned()

void clang::IdentifierInfo::setIsPoisoned | ( | bool | Value = `true` | ) |
| inline

setIsPoisoned - Mark this identifier as poisoned.

After poisoning, the Preprocessor will emit an error every time this token is used.

Definition at line 282 of file IdentifierTable.h.

Referenced by clang::VariadicMacroScopeGuard::enterScope(), clang::VariadicMacroScopeGuard::exitScope(), clang::Preprocessor::HandlePragmaPoison(), clang::PoisonIdentifierRAIIObject::PoisonIdentifierRAIIObject(), clang::Preprocessor::PoisonSEHIdentifiers(), clang::serialization::reader::ASTIdentifierLookupTrait::ReadData(), and clang::PoisonIdentifierRAIIObject::~PoisonIdentifierRAIIObject().

## ◆ setModulesImport()

void clang::IdentifierInfo::setModulesImport | ( | bool | I | ) |
| inline

Set whether this identifier is the contextual keyword `import`.

Definition at line 367 of file IdentifierTable.h.

Referenced by clang::IdentifierTable::getOwn().

## ◆ setObjCKeywordID()

void clang::IdentifierInfo::setObjCKeywordID | ( | tok::ObjCKeywordKind | ID | ) |
| inline

Definition at line 222 of file IdentifierTable.h.

## ◆ setObjCOrBuiltinID()

void clang::IdentifierInfo::setObjCOrBuiltinID | ( | unsigned | ID | ) |
| inline

Definition at line 252 of file IdentifierTable.h.

Referenced by clang::serialization::reader::ASTIdentifierLookupTrait::ReadData().

## ◆ setOutOfDate()

void clang::IdentifierInfo::setOutOfDate | ( | bool | OOD | ) |
| inline

Set whether the information for this identifier is out of date with respect to the external source.

Definition at line 355 of file IdentifierTable.h.

Referenced by clang::ASTReader::markIdentifierUpToDate().

## Friends And Related Function Documentation

## ◆ IdentifierTable

friend class IdentifierTable
| friend

Definition at line 59 of file IdentifierTable.h.

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

- include/clang/Basic/IdentifierTable.h
- lib/Basic/IdentifierTable.cpp