Lines Matching defs:Previous

68   if (Left->Previous && Left->Previous->is(tok::greater) &&
69 Left->Previous->MatchingParen &&
70 Left->Previous->MatchingParen->is(TT_TemplateOpener)) {
71 Left = Left->Previous->MatchingParen;
75 return Left->Previous && Left->Previous->is(tok::r_square) &&
76 Left->Previous->MatchingParen &&
77 Left->Previous->MatchingParen->is(TT_LambdaLSquare);
92 if (Tok.Previous && Tok.Previous->is(tok::at))
155 auto *Left = CurrentToken->Previous; // The '<'.
162 const auto *BeforeLess = Left->Previous;
247 const auto &Prev = *CurrentToken->Previous;
264 if (FormatToken *Previous = CurrentToken->getPreviousNonComment()) {
267 Previous->isNot(tok::colon))) {
268 Previous->setType(TT_SelectorName);
314 assert(CurrentToken->Previous && "Unknown previous token");
315 FormatToken &OpeningParen = *CurrentToken->Previous;
325 if (OpeningParen.Previous &&
326 OpeningParen.Previous->is(TT_UntouchableMacroFunc)) {
333 if (FormatToken *MaybeSel = OpeningParen.Previous) {
336 MaybeSel->Previous && MaybeSel->Previous->is(tok::at)) {
346 Prev = Prev->Previous;
354 Prev->Previous && Prev->Previous->isOneOf(tok::period, tok::arrow);
366 } else if (OpeningParen.Previous &&
367 (OpeningParen.Previous->isOneOf(
371 OpeningParen.Previous->isIf())) {
374 } else if (Style.isJavaScript() && OpeningParen.Previous &&
375 (OpeningParen.Previous->is(Keywords.kw_function) ||
376 (OpeningParen.Previous->endsSequence(tok::identifier,
380 } else if (Style.isJavaScript() && OpeningParen.Previous &&
381 OpeningParen.Previous->is(TT_JsTypeColon)) {
390 } else if (OpeningParen.Previous &&
391 OpeningParen.Previous->is(tok::kw__Generic)) {
395 (!OpeningParen.Previous ||
396 OpeningParen.Previous->isNot(tok::identifier))) {
401 } else if (OpeningParen.Previous &&
402 OpeningParen.Previous->is(TT_ForEachMacro)) {
406 } else if (OpeningParen.Previous && OpeningParen.Previous->MatchingParen &&
407 OpeningParen.Previous->MatchingParen->isOneOf(
413 OpeningParen.Previous &&
414 OpeningParen.Previous->isOneOf(tok::kw_for, tok::kw_catch);
419 if (FormatToken *Prev = OpeningParen.Previous) {
476 OpeningParen.Previous && OpeningParen.Previous->is(tok::kw_for);
479 const auto &Prev = *CurrentToken->Previous;
481 Prev.Previous->isOneOf(tok::l_paren, tok::coloncolon)) {
489 if (Prev.is(TT_PointerOrReference) && Prev.Previous == &OpeningParen)
505 OpeningParen.Previous && OpeningParen.Previous->is(tok::l_paren)) {
528 if (OpeningParen.Previous &&
529 OpeningParen.Previous->is(TT_JavaAnnotation)) {
532 if (OpeningParen.Previous &&
533 OpeningParen.Previous->is(TT_LeadingJavaAnnotation)) {
536 if (OpeningParen.Previous &&
537 OpeningParen.Previous->is(TT_AttributeSquare)) {
626 if (Tok.Previous && Tok.Previous->is(tok::identifier))
630 if (Tok.Previous && Tok.Previous->is(tok::r_square)) {
631 auto *MatchingParen = Tok.Previous->MatchingParen;
680 FormatToken *Left = CurrentToken->Previous;
728 if (!IsInnerSquare && Left->Previous)
729 Left->Previous->EndsCppAttributeGroup = false;
811 (CurrentToken->Previous &&
812 CurrentToken->Previous->Previous == Left)) &&
821 if (StartsObjCMethodExpr && CurrentToken->Previous != Left) {
825 if (!ColonFound && CurrentToken->Previous &&
826 CurrentToken->Previous->is(TT_Unknown) &&
827 canBeObjCSelectorComponent(*CurrentToken->Previous)) {
828 CurrentToken->Previous->setType(TT_SelectorName);
848 FormatToken *Previous = CurrentToken->getPreviousNonComment();
849 if (Previous && Previous->is(TT_SelectorName)) {
850 Previous->ObjCSelectorNameParts = 1;
851 Contexts.back().FirstObjCSelectorName = Previous;
1040 CurrentToken->Previous->setType(TT_TableGenDAGArgOperatorToBreak);
1166 assert(CurrentToken->Previous);
1167 FormatToken &OpeningBrace = *CurrentToken->Previous;
1179 if (Style.isJavaScript() && OpeningBrace.Previous &&
1180 OpeningBrace.Previous->is(TT_JsTypeColon)) {
1213 FormatToken *Previous = CurrentToken->getPreviousNonComment();
1214 if (Previous->is(TT_JsTypeOptionalQuestion))
1215 Previous = Previous->getPreviousNonComment();
1220 if (Previous->Tok.getIdentifierInfo() ||
1221 Previous->is(tok::string_literal)) {
1222 Previous->setType(TT_SelectorName);
1286 CurrentToken->Previous->ClosesTemplateDeclaration = true;
1313 if (!Tok->Previous && Line.MustBeDeclaration)
1317 if (!Tok->Previous)
1350 if (Keywords.isVerilogEnd(*Tok->Previous) ||
1351 Keywords.isVerilogBegin(*Tok->Previous)) {
1376 if (FormatToken *Previous = Tok->getPreviousNonComment())
1377 Previous->setType(TT_SelectorName);
1382 const FormatToken *BeforePrevious = Tok->Previous->Previous;
1387 Tok->Previous->is(tok::identifier) && Tok->Previous->is(TT_Unknown);
1396 Tok->Previous->setType(TT_SelectorName);
1398 Contexts.back().FirstObjCSelectorName = Tok->Previous;
1399 } else if (Tok->Previous->ColumnWidth >
1402 Tok->Previous->ColumnWidth;
1404 Tok->Previous->ParameterIndex =
1410 for (auto *Prev = Tok->Previous;
1412 Prev = Prev->Previous) {
1441 } else if (canBeObjCSelectorComponent(*Tok->Previous) && Tok->Next &&
1482 if ((Tok->Previous && Tok->Previous->is(tok::period)) ||
1504 if (Tok->Previous && Tok->Previous->is(tok::r_paren) &&
1505 Tok->Previous->MatchingParen &&
1506 Tok->Previous->MatchingParen->is(TT_OverloadedOperatorLParen)) {
1507 Tok->Previous->setType(TT_OverloadedOperator);
1508 Tok->Previous->MatchingParen->setType(TT_OverloadedOperator);
1565 if (const auto *Previous = Tok->Previous;
1566 !Previous ||
1567 (!Previous->isAttribute() &&
1568 !Previous->isOneOf(TT_RequiresClause, TT_LeadingJavaAnnotation))) {
1585 FormatToken *Previous = Tok->getPreviousNonComment();
1586 if (Previous && Previous->isNot(TT_DictLiteral))
1587 Previous->setType(TT_SelectorName);
1602 (Style.Language == FormatStyle::LK_Proto && Tok->Previous &&
1603 Tok->Previous->isOneOf(TT_SelectorName, TT_DictLiteral))) {
1605 FormatToken *Previous = Tok->getPreviousNonComment();
1606 if (Previous && Previous->isNot(TT_DictLiteral))
1607 Previous->setType(TT_SelectorName);
1626 if (Tok->Previous)
1632 if (Tok->Previous && Tok->Previous->is(TT_TemplateCloser))
1651 auto Previous = CurrentToken->getPreviousNonComment();
1652 assert(Previous);
1653 if (CurrentToken->is(tok::comma) && Previous->isNot(tok::kw_operator))
1655 if (Previous->isOneOf(TT_BinaryOperator, TT_UnaryOperator, tok::comma,
1658 Previous->TokenText.starts_with("\"\"")) {
1659 Previous->setType(TT_OverloadedOperator);
1666 if (CurrentToken && CurrentToken->Previous->is(TT_BinaryOperator))
1667 CurrentToken->Previous->setType(TT_OverloadedOperator);
1784 if (Tok->isNot(TT_LambdaArrow) && Tok->Previous &&
1785 Tok->Previous->is(tok::kw_noexcept)) {
1865 if (IsMarkOrRegion || CurrentToken->Previous->is(TT_BinaryOperator))
2188 assert(Current.Previous);
2189 if (Current.Previous->is(tok::kw_operator)) {
2205 assert(Current.Previous->Previous);
2206 return !Current.Previous->Previous->isOneOf(tok::kw_typename,
2234 return !Current.Previous || Current.Previous->isNot(tok::kw_operator);
2240 for (FormatToken *Previous = Current.Previous;
2241 Previous && Previous->Previous &&
2242 !Previous->Previous->isOneOf(tok::comma, tok::semi);
2243 Previous = Previous->Previous) {
2244 if (Previous->isOneOf(tok::r_square, tok::r_paren, tok::greater)) {
2245 Previous = Previous->MatchingParen;
2246 if (!Previous)
2249 if (Previous->opensScope())
2251 if (Previous->isOneOf(TT_BinaryOperator, TT_UnaryOperator) &&
2252 Previous->isPointerOrReference() && Previous->Previous &&
2253 Previous->Previous->isNot(tok::equal)) {
2254 Previous->setType(TT_PointerOrReference);
2259 (!Current.Previous ||
2260 Current.Previous->isNot(tok::kw_operator))) {
2268 } else if (Current.Previous &&
2269 Current.Previous->is(TT_CtorInitializerColon)) {
2272 } else if (Current.Previous && Current.Previous->is(TT_InheritanceColon)) {
2275 for (FormatToken *Previous = Current.Previous;
2276 Previous && Previous->isOneOf(tok::star, tok::amp);
2277 Previous = Previous->Previous) {
2278 Previous->setType(TT_PointerOrReference);
2287 (Current.is(tok::exclaim) && Current.Previous &&
2288 Current.Previous->isNot(tok::kw_operator))) {
2313 if (Current.Previous && Current.Previous->is(tok::r_paren) &&
2338 Current.Previous->MatchingParen) {
2342 Current.Previous->MatchingParen->Previous;
2359 if (Current.Previous) {
2363 *Current.Previous, /* AcceptIdentifierName= */ true)
2364 : Current.Previous->is(tok::identifier);
2366 Current.Previous->isOneOf(
2370 Current.Previous->Tok.isLiteral()) {
2407 !Current.Previous->isOneOf(tok::kw_operator, tok::identifier)) {
2410 } else if (Current.is(tok::arrow) && Current.Previous &&
2411 Current.Previous->is(tok::r_brace) &&
2412 Current.Previous->is(BK_Block)) {
2446 (!Current.Previous || Current.Previous->isNot(tok::l_square)) &&
2495 if (FormatToken *BeforeParen = Current.MatchingParen->Previous;
2499 (!BeforeParen->Previous ||
2500 BeforeParen->Previous->ClosesTemplateDeclaration ||
2501 BeforeParen->Previous->ClosesRequiresClause)) {
2527 } else if (Style.Language == FormatStyle::LK_Java && Current.Previous &&
2528 Current.Previous->isOneOf(TT_JavaAnnotation,
2530 Current.setType(Current.Previous->getType());
2535 Current.Previous && Current.Previous->is(TT_CastRParen) &&
2536 Current.Previous->MatchingParen &&
2537 Current.Previous->MatchingParen->Previous &&
2538 Current.Previous->MatchingParen->Previous->is(
2546 Current.Previous &&
2547 !Current.Previous->isOneOf(tok::equal, tok::at,
2556 Current.Previous) {
2557 if (Current.Previous->is(tok::at) &&
2559 const FormatToken &AtToken = *Current.Previous;
2560 const FormatToken *Previous = AtToken.getPreviousNonComment();
2561 if (!Previous || Previous->is(TT_LeadingJavaAnnotation))
2565 } else if (Current.Previous->is(tok::period) &&
2566 Current.Previous->isOneOf(TT_JavaAnnotation,
2568 Current.setType(Current.Previous->getType());
2583 if (Tok.isNot(tok::identifier) || !Tok.Previous)
2595 if (Tok.Previous->isOneOf(TT_LeadingJavaAnnotation, Keywords.kw_instanceof,
2599 if (Style.isJavaScript() && Tok.Previous->is(Keywords.kw_in))
2626 PreviousNotConst->Previous &&
2627 PreviousNotConst->Previous->is(tok::hash);
2631 PreviousNotConst->MatchingParen->Previous &&
2632 PreviousNotConst->MatchingParen->Previous->isNot(tok::period) &&
2633 PreviousNotConst->MatchingParen->Previous->isNot(tok::kw_template);
2695 if (!Tok.MatchingParen || !Tok.Previous)
2703 const auto *BeforeRParen = Tok.Previous;
2720 !LeftOfParens->MatchingParen->Previous) {
2723 LeftOfParens = LeftOfParens->MatchingParen->Previous;
2748 if (LeftOfParens->Tok.getIdentifierInfo() && LeftOfParens->Previous &&
2749 LeftOfParens->Previous->is(tok::kw_operator)) {
2823 if (const auto *Tok = T->MatchingParen->Previous;
2825 T = Tok->Previous;
2830 if (T->MatchingParen && T->MatchingParen->Previous) {
2831 T = T->MatchingParen->Previous;
2835 T = T->Previous;
2872 Prev = Prev->Previous;
2874 Prev = Prev->Previous;
2915 Prev = Prev->Previous;
2923 for (Prev = BeforeRParen; Prev != LParen; Prev = Prev->Previous)
3297 (Start->Previous &&
3298 Start->Previous->isOneOf(TT_RequiresClause,
3302 while (!Ret->ClosesRequiresClause && Ret->Previous)
3303 Ret = Ret->Previous;
3545 addFakeParenthesis(FirstOfType, prec::Comma, PreviousComma->Previous);
3678 const auto *Prev = Tok->Previous;
3681 Prev = Prev->Previous;
3686 assert(Prev->Previous);
3687 return Prev->Previous->TokenText == Tok->TokenText;
3766 Prev = Prev->Previous;
3771 const auto &Previous = *Prev;
3773 if (const auto *PrevPrev = Previous.getPreviousNonComment();
3819 if (Previous.Tok.getIdentifierInfo() &&
3820 !Previous.isOneOf(tok::kw_return, tok::kw_co_return)) {
3823 if (Previous.is(tok::r_paren) && Previous.is(TT_TypeDeclarationParen)) {
3824 assert(Previous.MatchingParen);
3825 assert(Previous.MatchingParen->is(tok::l_paren));
3826 assert(Previous.MatchingParen->is(TT_TypeDeclarationParen));
3829 if (!Previous.isPointerOrReference() && Previous.isNot(TT_TemplateCloser))
3961 if (Tok->Previous->EndsCppAttributeGroup)
3984 auto *Tok = Line.Last->Previous;
3986 Tok = Tok->Previous;
4050 const FormatToken *Prev = Current->Previous;
4071 for (FormatToken *Parameter = Current->Previous; Parameter;
4072 Parameter = Parameter->Previous) {
4075 if (Parameter->Previous && Parameter->Previous->is(tok::comma)) {
4076 if (Parameter->Previous->isNot(TT_CtorInitializerComma) &&
4172 Current = Current->Previous;
4208 CurrentToken = CurrentToken->Previous;
4218 const FormatToken &Left = *Tok.Previous;
4318 return NextOperator && NextOperator->Previous->closesScope()
4352 if (Line.Type == LT_ObjCDecl && Left.is(tok::l_paren) && Left.Previous &&
4353 Left.Previous->isOneOf(tok::identifier, tok::greater)) {
4363 if (Left.is(tok::l_paren) && Left.Previous &&
4364 (Left.Previous->isOneOf(tok::kw_for, tok::kw__Generic) ||
4365 Left.Previous->isIf())) {
4392 if (Left.isOneOf(tok::plus, tok::comma) && Left.Previous &&
4393 Left.Previous->isLabelString() &&
4480 if (InnerLParen && InnerLParen->Previous == Right.MatchingParen) {
4491 (LeftParen->Previous &&
4492 isKeywordWithCondition(*LeftParen->Previous)))) {
4508 const auto *BeforeLeft = Left.Previous;
4680 const FormatToken *Previous = &Left;
4681 while (Previous && Previous->isNot(tok::kw_operator)) {
4682 if (Previous->is(tok::identifier) || Previous->isTypeName(LangOpts)) {
4683 Previous = Previous->getPreviousNonComment();
4686 if (Previous->is(TT_TemplateCloser) && Previous->MatchingParen) {
4687 Previous = Previous->MatchingParen->getPreviousNonComment();
4690 if (Previous->is(tok::coloncolon)) {
4691 Previous = Previous->getPreviousNonComment();
4708 if (Previous) {
4709 if (Previous->endsSequence(tok::kw_operator))
4711 if (Previous->is(tok::kw_const) || Previous->is(tok::kw_volatile)) {
4846 Left.MatchingParen->Previous &&
4847 Left.MatchingParen->Previous->is(tok::kw_delete)) {
4889 Left.MatchingParen->Previous &&
4890 (Left.MatchingParen->Previous->is(tok::period) ||
4891 Left.MatchingParen->Previous->is(tok::coloncolon))) {
4922 const FormatToken &Left = *Right.Previous;
4943 const auto *BeforeLeft = Left.Previous;
5551 const FormatToken &Left = *Right.Previous;
5571 const auto *BeforeLeft = Left.Previous;
5745 BeforeClosingBrace = Left.MatchingParen->Previous;
6026 const FormatToken &Left = *Right.Previous;
6167 const FormatToken *Previous = Right.MatchingParen->Previous;
6168 return !(Previous && (Previous->is(tok::kw_for) || Previous->isIf()));
6318 if (Left.is(tok::l_paren) && Left.Previous &&
6319 (Left.Previous->isOneOf(TT_BinaryOperator, TT_CastRParen))) {