clang  3.7.0
Public Member Functions | List of all members
clang::CharLiteralParser Class Reference

#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
 

Detailed Description

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

Definition at line 154 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 \' \" \? \\ \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 1018 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().

Member Function Documentation

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().


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