|
reference, declaration → definition
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);