Lines Matching refs:PeekTok
76 Token &PeekTok, bool ValueLive,
102 static bool EvaluateDefined(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateDefined() argument
104 SourceLocation beginLoc(PeekTok.getLocation()); in EvaluateDefined()
108 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
112 if (PeekTok.is(tok::l_paren)) { in EvaluateDefined()
114 LParenLoc = PeekTok.getLocation(); in EvaluateDefined()
115 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
118 if (PeekTok.is(tok::code_completion)) { in EvaluateDefined()
122 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
126 if (PP.CheckMacroName(PeekTok, MU_Other)) in EvaluateDefined()
130 IdentifierInfo *II = PeekTok.getIdentifierInfo(); in EvaluateDefined()
137 PeekTok, in EvaluateDefined()
145 Token macroToken(PeekTok); in EvaluateDefined()
150 Result.setEnd(PeekTok.getLocation()); in EvaluateDefined()
151 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
153 if (PeekTok.isNot(tok::r_paren)) { in EvaluateDefined()
154 PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_after) in EvaluateDefined()
160 PP.LexNonComment(PeekTok); in EvaluateDefined()
161 Result.setEnd(PeekTok.getLocation()); in EvaluateDefined()
164 Result.setEnd(PeekTok.getLocation()); in EvaluateDefined()
165 PP.LexNonComment(PeekTok); in EvaluateDefined()
216 SourceRange(beginLoc, PeekTok.getLocation())); in EvaluateDefined()
233 static bool EvaluateValue(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateValue() argument
239 if (PeekTok.is(tok::code_completion)) { in EvaluateValue()
243 PP.LexNonComment(PeekTok); in EvaluateValue()
246 switch (PeekTok.getKind()) { in EvaluateValue()
251 if (IdentifierInfo *II = PeekTok.getIdentifierInfo()) { in EvaluateValue()
254 return EvaluateDefined(Result, PeekTok, DT, ValueLive, PP); in EvaluateValue()
261 PP.Diag(PeekTok, diag::warn_pp_undef_identifier) << II; in EvaluateValue()
266 PeekTok.getLocation())) { in EvaluateValue()
274 PP.Diag(PeekTok, diag::warn_pp_undef_prefix) in EvaluateValue()
281 Result.setRange(PeekTok.getLocation()); in EvaluateValue()
283 PP.LexNonComment(PeekTok); in EvaluateValue()
287 PP.Diag(PeekTok, diag::err_pp_expr_bad_token_start_expr); in EvaluateValue()
292 PP.Diag(PeekTok, diag::err_pp_expected_value_in_expr); in EvaluateValue()
297 StringRef Spelling = PP.getSpelling(PeekTok, IntegerBuffer, in EvaluateValue()
302 NumericLiteralParser Literal(Spelling, PeekTok.getLocation(), in EvaluateValue()
309 PP.Diag(PeekTok, diag::err_pp_illegal_floating_literal); in EvaluateValue()
316 PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*integer*/1; in EvaluateValue()
321 PP.Diag(PeekTok, in EvaluateValue()
325 PP.Diag(PeekTok, diag::ext_c99_longlong); in EvaluateValue()
330 PP.Diag(PeekTok, PP.getLangOpts().CPlusPlus in EvaluateValue()
339 PP.Diag(PeekTok, PP.getLangOpts().CPlusPlus ? diag::ext_cxx_bitint_suffix in EvaluateValue()
348 PP.Diag(PeekTok, diag::err_integer_literal_too_large) in EvaluateValue()
364 PP.Diag(PeekTok, diag::ext_integer_literal_too_large_for_signed); in EvaluateValue()
370 Result.setRange(PeekTok.getLocation()); in EvaluateValue()
371 PP.LexNonComment(PeekTok); in EvaluateValue()
380 if (PeekTok.hasUDSuffix()) in EvaluateValue()
381 PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*character*/0; in EvaluateValue()
385 StringRef ThisTok = PP.getSpelling(PeekTok, CharBuffer, &CharInvalid); in EvaluateValue()
390 PeekTok.getLocation(), PP, PeekTok.getKind()); in EvaluateValue()
436 Result.setRange(PeekTok.getLocation()); in EvaluateValue()
437 PP.LexNonComment(PeekTok); in EvaluateValue()
441 SourceLocation Start = PeekTok.getLocation(); in EvaluateValue()
442 PP.LexNonComment(PeekTok); // Eat the (. in EvaluateValue()
445 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
449 if (PeekTok.is(tok::r_paren)) { in EvaluateValue()
453 if (EvaluateDirectiveSubExpr(Result, 1, PeekTok, ValueLive, in EvaluateValue()
457 if (PeekTok.isNot(tok::r_paren)) { in EvaluateValue()
458 PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_rparen) in EvaluateValue()
465 Result.setRange(Start, PeekTok.getLocation()); in EvaluateValue()
467 PP.LexNonComment(PeekTok); // Eat the ). in EvaluateValue()
471 SourceLocation Start = PeekTok.getLocation(); in EvaluateValue()
473 PP.LexNonComment(PeekTok); in EvaluateValue()
474 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
480 SourceLocation Loc = PeekTok.getLocation(); in EvaluateValue()
481 PP.LexNonComment(PeekTok); in EvaluateValue()
482 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
501 SourceLocation Start = PeekTok.getLocation(); in EvaluateValue()
502 PP.LexNonComment(PeekTok); in EvaluateValue()
503 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
514 SourceLocation Start = PeekTok.getLocation(); in EvaluateValue()
515 PP.LexNonComment(PeekTok); in EvaluateValue()
516 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
531 Result.Val = PeekTok.getKind() == tok::kw_true; in EvaluateValue()
533 Result.setIdentifier(PeekTok.getIdentifierInfo()); in EvaluateValue()
534 Result.setRange(PeekTok.getLocation()); in EvaluateValue()
535 PP.LexNonComment(PeekTok); in EvaluateValue()
593 Token &PeekTok, bool ValueLive, in EvaluateDirectiveSubExpr() argument
596 unsigned PeekPrec = getPrecedence(PeekTok.getKind()); in EvaluateDirectiveSubExpr()
599 diagnoseUnexpectedOperator(PP, LHS, PeekTok); in EvaluateDirectiveSubExpr()
609 tok::TokenKind Operator = PeekTok.getKind(); in EvaluateDirectiveSubExpr()
627 SourceLocation OpLoc = PeekTok.getLocation(); in EvaluateDirectiveSubExpr()
628 PP.LexNonComment(PeekTok); in EvaluateDirectiveSubExpr()
633 if (EvaluateValue(RHS, PeekTok, DT, RHSIsLive, PP)) return true; in EvaluateDirectiveSubExpr()
639 PeekPrec = getPrecedence(PeekTok.getKind()); in EvaluateDirectiveSubExpr()
643 diagnoseUnexpectedOperator(PP, RHS, PeekTok); in EvaluateDirectiveSubExpr()
665 if (EvaluateDirectiveSubExpr(RHS, RHSPrec, PeekTok, RHSIsLive, in EvaluateDirectiveSubExpr()
668 PeekPrec = getPrecedence(PeekTok.getKind()); in EvaluateDirectiveSubExpr()
815 if (PeekTok.isNot(tok::colon)) { in EvaluateDirectiveSubExpr()
816 PP.Diag(PeekTok.getLocation(), diag::err_expected) in EvaluateDirectiveSubExpr()
822 PP.LexNonComment(PeekTok); in EvaluateDirectiveSubExpr()
828 if (EvaluateValue(AfterColonVal, PeekTok, DT, AfterColonLive, PP)) in EvaluateDirectiveSubExpr()
834 PeekTok, AfterColonLive, in EvaluateDirectiveSubExpr()
847 PeekPrec = getPrecedence(PeekTok.getKind()); in EvaluateDirectiveSubExpr()