clang 22.0.0git
|
Enumerations | |
enum | TokenKind : unsigned short { NUM_TOKENS } |
Provides a simple uniform namespace for tokens from all C languages. More... | |
enum | PPKeywordKind { NUM_PP_KEYWORDS } |
Provides a namespace for preprocessor keywords which start with a '#' at the beginning of the line. More... | |
enum | ObjCKeywordKind { NUM_OBJC_KEYWORDS } |
Provides a namespace for Objective-C keywords which start with an '@'. More... | |
enum | NotableIdentifierKind { NUM_NOTABLE_IDENTIFIERS } |
Provides a namespace for notable identifers such as float_t and double_t. More... | |
enum | OnOffSwitch { OOS_ON , OOS_OFF , OOS_DEFAULT } |
Defines the possible values of an on-off-switch (C99 6.10.6p2). More... |
Functions | |
const char * | getTokenName (TokenKind Kind) LLVM_READNONE |
Determines the name of a token as used within the front end. | |
const char * | getPunctuatorSpelling (TokenKind Kind) LLVM_READNONE |
Determines the spelling of simple punctuation tokens like '! | |
const char * | getKeywordSpelling (TokenKind Kind) LLVM_READNONE |
Determines the spelling of simple keyword and contextual keyword tokens like 'int' and 'dynamic_cast'. | |
const char * | getPPKeywordSpelling (PPKeywordKind Kind) LLVM_READNONE |
Returns the spelling of preprocessor keywords, such as "else". | |
bool | isAnyIdentifier (TokenKind K) |
Return true if this is a raw identifier or an identifier kind. | |
bool | isStringLiteral (TokenKind K) |
Return true if this is a C or C++ string-literal (or C++11 user-defined-string-literal) token. | |
bool | isLiteral (TokenKind K) |
Return true if this is a "literal" kind, like a numeric constant, string, etc. | |
bool | isAnnotation (TokenKind K) |
Return true if this is any of tok::annot_* kinds. | |
bool | isPragmaAnnotation (TokenKind K) |
Return true if this is an annotation token representing a pragma. | |
constexpr bool | isRegularKeywordAttribute (TokenKind K) |
Provides a namespace for notable identifers such as float_t and double_t.
Enumerator | |
---|---|
NUM_NOTABLE_IDENTIFIERS |
Definition at line 49 of file TokenKinds.h.
Provides a namespace for Objective-C keywords which start with an '@'.
Enumerator | |
---|---|
NUM_OBJC_KEYWORDS |
Definition at line 41 of file TokenKinds.h.
Defines the possible values of an on-off-switch (C99 6.10.6p2).
Enumerator | |
---|---|
OOS_ON | |
OOS_OFF | |
OOS_DEFAULT |
Definition at line 56 of file TokenKinds.h.
Provides a namespace for preprocessor keywords which start with a '#' at the beginning of the line.
Enumerator | |
---|---|
NUM_PP_KEYWORDS |
Definition at line 33 of file TokenKinds.h.
enum clang::tok::TokenKind : unsigned short |
Provides a simple uniform namespace for tokens from all C languages.
Enumerator | |
---|---|
NUM_TOKENS |
Definition at line 25 of file TokenKinds.h.
const char * clang::tok::getKeywordSpelling | ( | TokenKind | Kind | ) |
Determines the spelling of simple keyword and contextual keyword tokens like 'int' and 'dynamic_cast'.
Returns NULL for other token kinds.
Definition at line 40 of file TokenKinds.cpp.
Referenced by clang::syntax::createLeaf(), clang::Diagnostic::FormatDiagnostic(), and getIdentifier().
const char * clang::tok::getPPKeywordSpelling | ( | tok::PPKeywordKind | Kind | ) |
Returns the spelling of preprocessor keywords, such as "else".
Definition at line 49 of file TokenKinds.cpp.
const char * clang::tok::getPunctuatorSpelling | ( | TokenKind | Kind | ) |
Determines the spelling of simple punctuation tokens like '!
' or '', and returns NULL for literal and annotation tokens.
This routine only retrieves the "simple" spelling of the token, and will not produce any alternative spellings (e.g., a digraph). For the actual spelling of a given Token, use Preprocessor::getSpelling().
Definition at line 31 of file TokenKinds.cpp.
Referenced by clang::syntax::createLeaf(), clang::MacroInfo::dump(), and clang::Diagnostic::FormatDiagnostic().
const char * clang::tok::getTokenName | ( | TokenKind | Kind | ) |
Determines the name of a token as used within the front end.
The name of a token will be an internal name (such as "l_square") and should not be used as part of diagnostic messages.
Definition at line 24 of file TokenKinds.cpp.
References NUM_TOKENS, and TokNames.
Referenced by clang::syntax::Token::dumpForTests(), clang::Preprocessor::DumpToken(), clang::Diagnostic::FormatDiagnostic(), clang::Token::getName(), and clang::syntax::Token::str().
Return true if this is any of tok::annot_* kinds.
Definition at line 58 of file TokenKinds.cpp.
Referenced by clang::Token::isAnnotation(), and clang::TokenValue::TokenValue().
Return true if this is a raw identifier or an identifier kind.
Definition at line 83 of file TokenKinds.h.
Referenced by clang::Token::isAnyIdentifier().
Return true if this is a "literal" kind, like a numeric constant, string, etc.
Definition at line 97 of file TokenKinds.h.
References isStringLiteral().
Referenced by highlightLines(), clang::Token::isLiteral(), and clang::TokenValue::TokenValue().
Return true if this is an annotation token representing a pragma.
Definition at line 68 of file TokenKinds.cpp.
Definition at line 120 of file TokenKinds.h.
References KEYWORD_ATTRIBUTE, and X.
Referenced by clang::Token::isRegularKeywordAttribute().
Return true if this is a C or C++ string-literal (or C++11 user-defined-string-literal) token.
Definition at line 89 of file TokenKinds.h.
Referenced by clang::Sema::ExpandFunctionLocalPredefinedMacros(), getSpellingSlow(), isLiteral(), clang::MacroArgs::StringifyArgument(), and clang::tokenIsLikeStringLiteral().