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


Member Function Documentation

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

Definition at line 173 of file LiteralSupport.h.

Definition at line 174 of file LiteralSupport.h.

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

Definition at line 172 of file LiteralSupport.h.

Definition at line 166 of file LiteralSupport.h.

Definition at line 167 of file LiteralSupport.h.

Referenced by CharLiteralParser().

Definition at line 171 of file LiteralSupport.h.

Referenced by CharLiteralParser().

Definition at line 169 of file LiteralSupport.h.

Definition at line 170 of file LiteralSupport.h.

Definition at line 168 of file LiteralSupport.h.

Referenced by CharLiteralParser().


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