clang 20.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
TokenKinds.h File Reference

Defines the clang::TokenKind enum and support functions. More...

#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/Support/Compiler.h"
#include "clang/Basic/TokenKinds.def"
#include "clang/Basic/RegularKeywordAttrInfo.inc"

Go to the source code of this file.

Classes

struct  llvm::DenseMapInfo< clang::tok::PPKeywordKind >
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::tok
 
namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 

Macros

#define TOK(X)   X,
 
#define PPKEYWORD(X)   pp_##X,
 
#define OBJC_AT_KEYWORD(X)   objc_##X,
 
#define NOTABLE_IDENTIFIER(X)   X,
 
#define KEYWORD_ATTRIBUTE(X, ...)   || (K == tok::kw_##X)
 

Enumerations

enum  clang::tok::TokenKind : unsigned short { clang::tok::NUM_TOKENS }
 Provides a simple uniform namespace for tokens from all C languages. More...
 
enum  clang::tok::PPKeywordKind { clang::tok::NUM_PP_KEYWORDS }
 Provides a namespace for preprocessor keywords which start with a '#' at the beginning of the line. More...
 
enum  clang::tok::ObjCKeywordKind { clang::tok::NUM_OBJC_KEYWORDS }
 Provides a namespace for Objective-C keywords which start with an '@'. More...
 
enum  clang::tok::NotableIdentifierKind { clang::tok::NUM_NOTABLE_IDENTIFIERS }
 Provides a namespace for notable identifers such as float_t and double_t. More...
 
enum  clang::tok::OnOffSwitch { clang::tok::OOS_ON , clang::tok::OOS_OFF , clang::tok::OOS_DEFAULT }
 Defines the possible values of an on-off-switch (C99 6.10.6p2). More...
 

Functions

const char * clang::tok::getTokenName (TokenKind Kind) LLVM_READNONE
 Determines the name of a token as used within the front end.
 
const char * clang::tok::getPunctuatorSpelling (TokenKind Kind) LLVM_READNONE
 Determines the spelling of simple punctuation tokens like '!' or '', and returns NULL for literal and annotation tokens.
 
const char * clang::tok::getKeywordSpelling (TokenKind Kind) LLVM_READNONE
 Determines the spelling of simple keyword and contextual keyword tokens like 'int' and 'dynamic_cast'.
 
const char * clang::tok::getPPKeywordSpelling (PPKeywordKind Kind) LLVM_READNONE
 Returns the spelling of preprocessor keywords, such as "else".
 
bool clang::tok::isAnyIdentifier (TokenKind K)
 Return true if this is a raw identifier or an identifier kind.
 
bool clang::tok::isStringLiteral (TokenKind K)
 Return true if this is a C or C++ string-literal (or C++11 user-defined-string-literal) token.
 
bool clang::tok::isLiteral (TokenKind K)
 Return true if this is a "literal" kind, like a numeric constant, string, etc.
 
bool clang::tok::isAnnotation (TokenKind K)
 Return true if this is any of tok::annot_* kinds.
 
bool clang::tok::isPragmaAnnotation (TokenKind K)
 Return true if this is an annotation token representing a pragma.
 
constexpr bool clang::tok::isRegularKeywordAttribute (TokenKind K)
 

Detailed Description

Defines the clang::TokenKind enum and support functions.

Definition in file TokenKinds.h.

Macro Definition Documentation

◆ KEYWORD_ATTRIBUTE

#define KEYWORD_ATTRIBUTE (   X,
  ... 
)    || (K == tok::kw_##X)

◆ NOTABLE_IDENTIFIER

#define NOTABLE_IDENTIFIER (   X)    X,

Definition at line 50 of file TokenKinds.h.

◆ OBJC_AT_KEYWORD

#define OBJC_AT_KEYWORD (   X)    objc_##X,

Definition at line 42 of file TokenKinds.h.

◆ PPKEYWORD

#define PPKEYWORD (   X)    pp_##X,

Definition at line 34 of file TokenKinds.h.

◆ TOK

#define TOK (   X)    X,

Definition at line 26 of file TokenKinds.h.