Home | History | Annotate | Download | only in Lex

Lines Matching refs:Tok

285           Callbacks->MacroExpands(Info.Tok, Info.MD, Info.Range, /*Args=*/0);
405 if (I->is(tok::l_paren)) {
407 } else if (I->is(tok::r_paren)) {
411 } else if (I->is(tok::l_brace)) {
413 } else if (I->is(tok::r_brace)) {
459 if (I->is(tok::l_brace)) {
461 } else if (I->is(tok::r_brace)) {
465 } else if (I->is(tok::eof)) {
471 I->setKind(tok::comma);
479 if (FoundSeparatorToken && ArgStartIterator->is(tok::l_brace)) {
489 TempToken.setKind(tok::l_paren);
502 TempToken.setKind(tok::r_paren);
535 Token Tok;
539 LexUnexpandedToken(Tok);
540 assert(Tok.is(tok::l_paren) && "Error computing l-paren-ness?");
551 while (Tok.isNot(tok::r_paren)) {
552 if (ContainsCodeCompletionTok && (Tok.is(tok::eof) || Tok.is(tok::eod)))
555 assert((Tok.is(tok::l_paren) || Tok.is(tok::comma)) &&
559 SourceLocation ArgStartLoc = Tok.getLocation();
568 LexUnexpandedToken(Tok);
570 if (Tok.is(tok::eof) || Tok.is(tok::eod)) { // "#if f(<eof>" & "#if f(\n"
576 MacroName = Tok;
581 Toks[0] = Tok;
585 } else if (Tok.is(tok::r_paren)) {
588 MacroEnd = Tok.getLocation();
591 } else if (Tok.is(tok::l_paren)) {
593 } else if (Tok.is(tok::comma) && NumParens == 0 &&
594 !(Tok.getFlags() & Token::IgnoredComma)) {
605 } else if (Tok.is(tok::comment) && !KeepMacroComments) {
609 } else if (Tok.getIdentifierInfo() != 0) {
616 if (MacroInfo *MI = getMacroInfo(Tok.getIdentifierInfo()))
618 Tok.setFlag(Token::DisableExpand);
619 } else if (Tok.is(tok::code_completion)) {
629 ArgTokens.push_back(Tok);
634 if (ArgTokens.empty() && Tok.getKind() == tok::r_paren)
649 Diag(Tok, LangOpts.CPlusPlus11 ?
656 EOFTok.setKind(tok::eof);
657 EOFTok.setLocation(Tok.getLocation());
728 EOFTok.setKind(tok::eof);
729 EOFTok.setLocation(Tok.getLocation());
754 Diag(Tok, diag::ext_missing_varargs_arg);
768 Diag(Tok, diag::err_too_few_args_in_macro_invoc);
775 SourceLocation EndLoc = Tok.getLocation();
776 Tok.startToken();
777 Tok.setKind(tok::eof);
778 Tok.setLocation(EndLoc);
779 Tok.setLength(0);
780 ArgTokens.push_back(Tok);
784 ArgTokens.push_back(Tok);
1080 static bool EvaluateHasIncludeCommon(Token &Tok,
1085 SourceLocation LParenLoc = Tok.getLocation();
1094 PP.LexNonComment(Tok);
1097 if (Tok.isNot(tok::l_paren)) {
1103 if (!Tok.is(tok::angle_string_literal) && !Tok.is(tok::string_literal) &&
1104 !Tok.is(tok::less))
1108 LParenLoc = Tok.getLocation();
1112 PP.getCurrentLexer()->LexIncludeFilename(Tok);
1116 PP.Lex(Tok);
1125 switch (Tok.getKind()) {
1126 case tok::eod:
1130 case tok::angle_string_literal:
1131 case tok::string_literal: {
1133 Filename = PP.getSpelling(Tok, FilenameBuffer, &Invalid);
1139 case tok::less:
1145 Tok.setKind(tok::eod);
1151 PP.Diag(Tok.getLocation(), diag::err_pp_expects_filename);
1155 SourceLocation FilenameLoc = Tok.getLocation();
1158 PP.LexNonComment(Tok);
1161 if (Tok.isNot(tok::r_paren)) {
1168 bool isAngled = PP.GetIncludeFilenameSpelling(Tok.getLocation(), Filename);
1186 static bool EvaluateHasInclude(Token &Tok, IdentifierInfo *II,
1188 return EvaluateHasIncludeCommon(Tok, II, PP, NULL);
1193 static bool EvaluateHasIncludeNext(Token &Tok,
1201 PP.Diag(Tok, diag::pp_include_next_in_primary);
1203 PP.Diag(Tok, diag::pp_include_next_absolute_path);
1209 return EvaluateHasIncludeCommon(Tok, II, PP, Lookup);
1214 static bool EvaluateBuildingModule(Token &Tok,
1217 PP.LexNonComment(Tok);
1220 if (Tok.isNot(tok::l_paren)) {
1221 PP.Diag(Tok.getLocation(), diag::err_pp_missing_lparen) << II->getName();
1226 SourceLocation LParenLoc = Tok.getLocation();
1229 PP.LexNonComment(Tok);
1232 if (Tok.isNot(tok::identifier)) {
1233 PP.Diag(Tok.getLocation(), diag::err_expected_id_building_module);
1238 = Tok.getIdentifierInfo()->getName() == PP.getLangOpts().CurrentModule;
1241 PP.LexNonComment(Tok);
1244 if (Tok.isNot(tok::r_paren)) {
1245 PP.Diag(Tok.getLocation(), diag::err_pp_missing_rparen) << II->getName();
1254 /// as a builtin macro, handle it and return the next token as 'Tok'.
1255 void Preprocessor::ExpandBuiltinMacro(Token &Tok) {
1257 IdentifierInfo *II = Tok.getIdentifierInfo();
1263 return Handle_Pragma(Tok);
1265 return HandleMicrosoft__pragma(Tok);
1273 Tok.setIdentifierInfo(0);
1274 Tok.clearFlag(Token::NeedsCleaning);
1280 SourceLocation Loc = Tok.getLocation();
1296 Tok.setKind(tok::numeric_constant);
1300 PresumedLoc PLoc = SourceMgr.getPresumedLoc(Tok.getLocation());
1322 Tok.setKind(tok::string_literal);
1326 Tok.setKind(tok::string_literal);
1327 Tok.setLength(strlen("\"Mmm dd yyyy\""));
1328 Tok.setLocation(SourceMgr.createExpansionLoc(DATELoc, Tok.getLocation(),
1329 Tok.getLocation(),
1330 Tok.getLength()));
1335 Tok.setKind(tok::string_literal);
1336 Tok.setLength(strlen("\"hh:mm:ss\""));
1337 Tok.setLocation(SourceMgr.createExpansionLoc(TIMELoc, Tok.getLocation(),
1338 Tok.getLocation(),
1339 Tok.getLength()));
1346 PresumedLoc PLoc = SourceMgr.getPresumedLoc(Tok.getLocation());
1355 Tok.setKind(tok::numeric_constant);
1378 Tok.setKind(tok::string_literal);
1382 Tok.setKind(tok::numeric_constant);
1388 SourceLocation StartLoc = Tok.getLocation();
1394 LexUnexpandedToken(Tok);
1395 if (Tok.is(tok::l_paren)) {
1397 LexUnexpandedToken(Tok);
1398 if ((FeatureII = Tok.getIdentifierInfo())) {
1400 LexUnexpandedToken(Tok);
1401 if (Tok.is(tok::r_paren))
1423 Tok.setKind(tok::numeric_constant);
1431 Value = EvaluateHasInclude(Tok, II, *this);
1433 Value = EvaluateHasIncludeNext(Tok, II, *this);
1435 if (Tok.is(tok::r_paren))
1436 Tok.setKind(tok::numeric_constant);
1440 SourceLocation StartLoc = Tok.getLocation();
1444 LexUnexpandedToken(Tok);
1446 if (Tok.isNot(tok::l_paren)) {
1451 LexUnexpandedToken(Tok);
1453 SourceLocation StrStartLoc = Tok.getLocation();
1454 if (!FinishLexStringLiteral(Tok, WarningName, "'__has_warning'",
1457 while (Tok.isNot(tok::r_paren) && Tok.isNot(tok::eod) &&
1458 Tok.isNot(tok::eof))
1459 LexUnexpandedToken(Tok);
1464 if (!(IsValid = Tok.is(tok::r_paren))) {
1486 Tok.setKind(tok::numeric_constant);
1491 OS << (int)EvaluateBuildingModule(Tok, II, *this);
1492 Tok.setKind(tok::numeric_constant);
1497 Tok.setIdentifierInfo(ModuleII);
1498 Tok.setKind(ModuleII->getTokenID());
1502 CreateString(OS.str(), Tok, Tok.getLocation(), Tok.getLocation());