reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Lex/Lexer.cpp
 3182   if ((*CurPtr == ' ') || (*CurPtr == '\t')) {
 3182   if ((*CurPtr == ' ') || (*CurPtr == '\t')) {
 3183     ++CurPtr;
 3184     while ((*CurPtr == ' ') || (*CurPtr == '\t'))
 3184     while ((*CurPtr == ' ') || (*CurPtr == '\t'))
 3185       ++CurPtr;
 3191       FormTokenWithChars(Result, CurPtr, tok::unknown);
 3196     BufferPtr = CurPtr;
 3203   char Char = getAndAdvanceChar(CurPtr, Result);
 3209     if (CurPtr-1 == BufferEnd)
 3210       return LexEndOfFile(Result, CurPtr-1);
 3213     if (isCodeCompletionPoint(CurPtr-1)) {
 3216       FormTokenWithChars(Result, CurPtr, tok::code_completion);
 3221       Diag(CurPtr-1, diag::null_in_file);
 3223     if (SkipWhitespace(Result, CurPtr, TokAtPhysicalStartOfLine))
 3234         Diag(CurPtr-1, diag::ext_ctrl_z_eof_microsoft);
 3235       return LexEndOfFile(Result, CurPtr-1);
 3243     if (CurPtr[0] == '\n')
 3244       (void)getAndAdvanceChar(CurPtr, Result);
 3268     if (SkipWhitespace(Result, CurPtr, TokAtPhysicalStartOfLine))
 3280     if (SkipWhitespace(Result, CurPtr, TokAtPhysicalStartOfLine))
 3284     CurPtr = BufferPtr;
 3288     if (CurPtr[0] == '/' && CurPtr[1] == '/' && !inKeepCommentMode() &&
 3288     if (CurPtr[0] == '/' && CurPtr[1] == '/' && !inKeepCommentMode() &&
 3291       if (SkipLineComment(Result, CurPtr+2, TokAtPhysicalStartOfLine))
 3294     } else if (CurPtr[0] == '/' && CurPtr[1] == '*' && !inKeepCommentMode()) {
 3294     } else if (CurPtr[0] == '/' && CurPtr[1] == '*' && !inKeepCommentMode()) {
 3295       if (SkipBlockComment(Result, CurPtr+2, TokAtPhysicalStartOfLine))
 3298     } else if (isHorizontalWhitespace(*CurPtr)) {
 3311     return LexNumericConstant(Result, CurPtr);
 3318       Char = getCharAndSize(CurPtr, SizeTmp);
 3322         return LexStringLiteral(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3327         return LexCharConstant(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3332           getCharAndSize(CurPtr + SizeTmp, SizeTmp2) == '"')
 3334                                ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3339         char Char2 = getCharAndSize(CurPtr + SizeTmp, SizeTmp2);
 3344                                ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3349               Result, ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3355           char Char3 = getCharAndSize(CurPtr + SizeTmp + SizeTmp2, SizeTmp3);
 3359                    ConsumeChar(ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3369     return LexIdentifier(Result, CurPtr);
 3376       Char = getCharAndSize(CurPtr, SizeTmp);
 3380         return LexStringLiteral(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3385         return LexCharConstant(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3390           getCharAndSize(CurPtr + SizeTmp, SizeTmp2) == '"')
 3392                                ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3398     return LexIdentifier(Result, CurPtr);
 3405       Char = getCharAndSize(CurPtr, SizeTmp);
 3409                                    ConsumeChar(CurPtr, SizeTmp, Result),
 3414     return LexIdentifier(Result, CurPtr);
 3419     Char = getCharAndSize(CurPtr, SizeTmp);
 3423       return LexStringLiteral(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3428         getCharAndSize(CurPtr + SizeTmp, SizeTmp2) == '"')
 3430                                ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3436       return LexCharConstant(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3453     return LexIdentifier(Result, CurPtr);
 3458         Diag(CurPtr-1, diag::ext_dollar_in_identifier);
 3461       return LexIdentifier(Result, CurPtr);
 3471     return LexCharConstant(Result, CurPtr, tok::char_constant);
 3477     return LexStringLiteral(Result, CurPtr,
 3504     Char = getCharAndSize(CurPtr, SizeTmp);
 3509       return LexNumericConstant(Result, ConsumeChar(CurPtr, SizeTmp, Result));
 3512       CurPtr += SizeTmp;
 3514                getCharAndSize(CurPtr+SizeTmp, SizeTmp2) == '.') {
 3516       CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3516       CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3523     Char = getCharAndSize(CurPtr, SizeTmp);
 3526       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3526       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3529       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3529       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3535     if (getCharAndSize(CurPtr, SizeTmp) == '=') {
 3537       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3537       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3543     Char = getCharAndSize(CurPtr, SizeTmp);
 3545       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3545       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3548       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3548       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3555     Char = getCharAndSize(CurPtr, SizeTmp);
 3557       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3557       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3560                getCharAndSize(CurPtr+SizeTmp, SizeTmp2) == '*') {  // C++ ->*
 3561       CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3561       CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3565       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3565       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3568       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3568       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3578     if (getCharAndSize(CurPtr, SizeTmp) == '=') {
 3580       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3580       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3587     Char = getCharAndSize(CurPtr, SizeTmp);
 3601           TreatAsComment = getCharAndSize(CurPtr+SizeTmp, SizeTmp2) != '*';
 3604         if (SkipLineComment(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3616       if (SkipBlockComment(Result, ConsumeChar(CurPtr, SizeTmp, Result),
 3626       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3626       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3633     Char = getCharAndSize(CurPtr, SizeTmp);
 3636       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3636       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3639       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3639       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3641       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3641       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3642       Char = getCharAndSize(CurPtr, SizeTmp);
 3643       if (Char == '%' && getCharAndSize(CurPtr+SizeTmp, SizeTmp2) == ':') {
 3645         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3645         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3648         CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3648         CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3667     Char = getCharAndSize(CurPtr, SizeTmp);
 3669       return LexAngledStringLiteral(Result, CurPtr);
 3671       char After = getCharAndSize(CurPtr+SizeTmp, SizeTmp2);
 3674         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3674         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3676       } else if (After == '<' && IsStartOfConflictMarker(CurPtr-1)) {
 3680       } else if (After == '<' && HandleEndOfConflictMarker(CurPtr-1)) {
 3686         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3686         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3689         CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3689         CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3693       char After = getCharAndSize(CurPtr+SizeTmp, SizeTmp2);
 3698           CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3698           CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3708                    getSourceLocation(CurPtr + SizeTmp, SizeTmp2), " ");
 3711       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3711       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3715           getCharAndSize(CurPtr + SizeTmp, SizeTmp2) == ':') {
 3722         char After = getCharAndSize(CurPtr + SizeTmp + SizeTmp2, SizeTmp3);
 3731       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3731       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3734       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3734       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3737                lexEditorPlaceholder(Result, CurPtr)) {
 3744     Char = getCharAndSize(CurPtr, SizeTmp);
 3746       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3746       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3749       char After = getCharAndSize(CurPtr+SizeTmp, SizeTmp2);
 3751         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3751         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3754       } else if (After == '>' && IsStartOfConflictMarker(CurPtr-1)) {
 3758       } else if (After == '>' && HandleEndOfConflictMarker(CurPtr-1)) {
 3763         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3763         CurPtr = ConsumeChar(ConsumeChar(CurPtr, SizeTmp, Result),
 3766         CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3766         CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3774     Char = getCharAndSize(CurPtr, SizeTmp);
 3776       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3776       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3779       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3779       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3786     Char = getCharAndSize(CurPtr, SizeTmp);
 3789       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3789       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3792       if (CurPtr[1] == '|' && HandleEndOfConflictMarker(CurPtr-1))
 3792       if (CurPtr[1] == '|' && HandleEndOfConflictMarker(CurPtr-1))
 3795       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3795       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3801     Char = getCharAndSize(CurPtr, SizeTmp);
 3804       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3804       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3809       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3809       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3818     Char = getCharAndSize(CurPtr, SizeTmp);
 3821       if (CurPtr[1] == '=' && HandleEndOfConflictMarker(CurPtr-1))
 3821       if (CurPtr[1] == '=' && HandleEndOfConflictMarker(CurPtr-1))
 3825       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3825       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3834     Char = getCharAndSize(CurPtr, SizeTmp);
 3837       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3837       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3842       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3842       CurPtr = ConsumeChar(CurPtr, SizeTmp, Result);
 3857     if (CurPtr[-1] == '@' && LangOpts.ObjC)
 3866       if (uint32_t CodePoint = tryReadUCN(CurPtr, BufferPtr, &Result)) {
 3867         if (CheckUnicodeWhitespace(Result, CodePoint, CurPtr)) {
 3868           if (SkipWhitespace(Result, CurPtr, TokAtPhysicalStartOfLine))
 3876         return LexUnicode(Result, CodePoint, CurPtr);
 3893     --CurPtr;
 3895         llvm::convertUTF8Sequence((const llvm::UTF8 **)&CurPtr,
 3900       if (CheckUnicodeWhitespace(Result, CodePoint, CurPtr)) {
 3901         if (SkipWhitespace(Result, CurPtr, TokAtPhysicalStartOfLine))
 3908       return LexUnicode(Result, CodePoint, CurPtr);
 3913       ++CurPtr;
 3921     Diag(CurPtr, diag::err_invalid_utf8);
 3923     BufferPtr = CurPtr+1;
 3935   FormTokenWithChars(Result, CurPtr, Kind);
 3941   FormTokenWithChars(Result, CurPtr, tok::hash);