clang API Documentation
#include <LiteralSupport.h>
Public Member Functions | |
| CharLiteralParser (const char *begin, const char *end, SourceLocation Loc, Preprocessor &PP, tok::TokenKind kind) | |
| bool | hadError () const |
| bool | isAscii () const |
| bool | isWide () const |
| bool | isUTF16 () const |
| bool | isUTF32 () const |
| bool | isMultiChar () const |
| uint64_t | getValue () const |
| StringRef | getUDSuffix () const |
| unsigned | getUDSuffixOffset () const |
CharLiteralParser - Perform interpretation and semantic analysis of a character literal.
Definition at line 154 of file LiteralSupport.h.
| CharLiteralParser::CharLiteralParser | ( | const char * | begin, |
| const char * | end, | ||
| SourceLocation | Loc, | ||
| Preprocessor & | PP, | ||
| tok::TokenKind | kind | ||
| ) |
user-defined-character-literal: [C++11 lex.ext]
character-literal ud-suffix
ud-suffix:
identifier
character-literal: [C++11 lex.ccon]
' c-char-sequence '
u' c-char-sequence '
U' c-char-sequence '
L' c-char-sequence '
c-char-sequence:
c-char
c-char-sequence c-char
c-char:
any member of the source character set except the single-quote ',
backslash \, or new-line character
escape-sequence
universal-character-name
escape-sequence:
simple-escape-sequence
octal-escape-sequence
hexadecimal-escape-sequence
simple-escape-sequence:
one of \' \" \? \\ \a \b \f \n \r \t \v
octal-escape-sequence:
\ octal-digit
\ octal-digit octal-digit
\ octal-digit octal-digit octal-digit
hexadecimal-escape-sequence:
\x hexadecimal-digit
hexadecimal-escape-sequence hexadecimal-digit
universal-character-name: [C++11 lex.charset]
\u hex-quad
\U hex-quad hex-quad
hex-quad:
hex-digit hex-digit hex-digit hex-digit
Definition at line 1024 of file LiteralSupport.cpp.
References clang::Preprocessor::Diag(), clang::expandUCNs(), getCharWidth(), clang::TargetInfo::getCharWidth(), clang::Preprocessor::getDiagnostics(), clang::TargetInfo::getIntWidth(), clang::Preprocessor::getLangOpts(), clang::Preprocessor::getSourceManager(), clang::Preprocessor::getTargetInfo(), clang::TargetInfo::getWCharWidth(), isAscii(), isMultiChar(), isWide(), ProcessCharEscape(), and ProcessUCNEscape().
| StringRef clang::CharLiteralParser::getUDSuffix | ( | ) | const [inline] |
Definition at line 173 of file LiteralSupport.h.
| unsigned clang::CharLiteralParser::getUDSuffixOffset | ( | ) | const [inline] |
Definition at line 174 of file LiteralSupport.h.
| uint64_t clang::CharLiteralParser::getValue | ( | ) | const [inline] |
Definition at line 172 of file LiteralSupport.h.
| bool clang::CharLiteralParser::hadError | ( | ) | const [inline] |
Definition at line 166 of file LiteralSupport.h.
| bool clang::CharLiteralParser::isAscii | ( | ) | const [inline] |
Definition at line 167 of file LiteralSupport.h.
Referenced by CharLiteralParser().
| bool clang::CharLiteralParser::isMultiChar | ( | ) | const [inline] |
Definition at line 171 of file LiteralSupport.h.
Referenced by CharLiteralParser().
| bool clang::CharLiteralParser::isUTF16 | ( | ) | const [inline] |
Definition at line 169 of file LiteralSupport.h.
| bool clang::CharLiteralParser::isUTF32 | ( | ) | const [inline] |
Definition at line 170 of file LiteralSupport.h.
| bool clang::CharLiteralParser::isWide | ( | ) | const [inline] |
Definition at line 168 of file LiteralSupport.h.
Referenced by CharLiteralParser().