clang  6.0.0svn
Namespaces | Macros | Enumerations | Functions
TokenKinds.h File Reference

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

#include "llvm/Support/Compiler.h"
#include "clang/Basic/TokenKinds.def"
Include dependency graph for TokenKinds.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::tok
 

Macros

#define TOK(X)   X,
 
#define PPKEYWORD(X)   pp_##X,
 
#define OBJC1_AT_KEYWORD(X)   objc_##X,
 
#define OBJC2_AT_KEYWORD(X)   objc_##X,
 
#define ANNOTATION(NAME)
 

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::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. More...
 
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. More...
 
const char * clang::tok::getKeywordSpelling (TokenKind Kind) LLVM_READNONE
 Determines the spelling of simple keyword and contextual keyword tokens like 'int' and 'dynamic_cast'. More...
 
bool clang::tok::isAnyIdentifier (TokenKind K)
 Return true if this is a raw identifier or an identifier kind. More...
 
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. More...
 
bool clang::tok::isLiteral (TokenKind K)
 Return true if this is a "literal" kind, like a numeric constant, string, etc. More...
 
bool clang::tok::isAnnotation (TokenKind K)
 Return true if this is any of tok::annot_* kinds. More...
 

Detailed Description

Defines the clang::TokenKind enum and support functions.

Definition in file TokenKinds.h.

Macro Definition Documentation

◆ ANNOTATION

#define ANNOTATION (   NAME)
Value:
if (K == tok::annot_##NAME) \
return true;

◆ OBJC1_AT_KEYWORD

#define OBJC1_AT_KEYWORD (   X)    objc_##X,

Definition at line 42 of file TokenKinds.h.

◆ OBJC2_AT_KEYWORD

#define OBJC2_AT_KEYWORD (   X)    objc_##X,

Definition at line 43 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.