clang API Documentation

Public Member Functions
clang::CharLiteralParser Class Reference

#include <LiteralSupport.h>

List of all members.

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

Detailed Description

CharLiteralParser - Perform interpretation and semantic analysis of a character literal.

Definition at line 135 of file LiteralSupport.h.


Constructor & Destructor Documentation

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 \' " \? \
octal-escape-sequence: \ octal-digit \ octal-digit octal-digit \ octal-digit octal-digit octal-digit hexadecimal-escape-sequence: hexadecimal-digit hexadecimal-escape-sequence hexadecimal-digit universal-character-name: [C++11 lex.charset] hex-quad hex-quad hex-quad hex-quad: hex-digit hex-digit hex-digit hex-digit

Definition at line 795 of file LiteralSupport.cpp.

References conversionOK, ConvertUTF8toUTF32(), clang::Preprocessor::Diag(), 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(), ProcessUCNEscape(), and strictConversion.


Member Function Documentation

StringRef clang::CharLiteralParser::getUDSuffix ( ) const [inline]

Definition at line 154 of file LiteralSupport.h.

unsigned clang::CharLiteralParser::getUDSuffixOffset ( ) const [inline]

Definition at line 155 of file LiteralSupport.h.

uint64_t clang::CharLiteralParser::getValue ( ) const [inline]

Definition at line 153 of file LiteralSupport.h.

bool clang::CharLiteralParser::hadError ( ) const [inline]

Definition at line 147 of file LiteralSupport.h.

bool clang::CharLiteralParser::isAscii ( ) const [inline]

Definition at line 148 of file LiteralSupport.h.

Referenced by CharLiteralParser().

bool clang::CharLiteralParser::isMultiChar ( ) const [inline]

Definition at line 152 of file LiteralSupport.h.

Referenced by CharLiteralParser().

bool clang::CharLiteralParser::isUTF16 ( ) const [inline]

Definition at line 150 of file LiteralSupport.h.

bool clang::CharLiteralParser::isUTF32 ( ) const [inline]

Definition at line 151 of file LiteralSupport.h.

bool clang::CharLiteralParser::isWide ( ) const [inline]

Definition at line 149 of file LiteralSupport.h.

Referenced by CharLiteralParser().


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