Lines Matching defs:FormatTok

184   FormatTok = nullptr;
227 pushToken(FormatTok);
301 switch (FormatTok->Tok.getKind()) {
305 if (FormatTok->is(Keywords.kw_where)) {
320 switch (FormatTok->Tok.getKind()) {
369 if (FormatTok->isAttribute()) {
371 if (FormatTok->is(tok::l_paren))
375 tok::TokenKind Kind = FormatTok->Tok.getKind();
376 if (FormatTok->is(TT_MacroBlockBegin))
378 else if (FormatTok->is(TT_MacroBlockEnd))
397 FormatTok->setFinalizedType(TT_RequiresExpressionLBrace);
398 } else if (FormatTok->Previous &&
399 FormatTok->Previous->ClosesRequiresClause) {
405 if (!InRequiresExpression && FormatTok->isNot(TT_MacroBlockBegin)) {
408 FormatTok->setFinalizedType(TT_BlockLBrace);
421 if (FormatTok->isNot(tok::r_brace) || StatementCount != 1 || HasLabel ||
439 FormatTok = Tokens->setPosition(StoredPosition);
492 FormatToken *Tok = FormatTok;
614 if (IsCpp && Line->InMacroBody && PrevTok != FormatTok &&
615 !FormatTok->Previous && NextTok->is(tok::eof) &&
657 FormatTok = Tokens->setPosition(StoredPosition);
662 if (auto Prev = FormatTok->getPreviousNonComment();
753 if (Style.isVerilog() && FormatTok->is(tok::colon)) {
755 if (Keywords.isVerilogIdentifier(*FormatTok))
763 Style.isVerilog() && Keywords.isVerilogHierarchy(*FormatTok);
764 assert((FormatTok->isOneOf(tok::l_brace, TT_MacroBlockBegin) ||
766 (Keywords.isVerilogBegin(*FormatTok) || VerilogHierarchy))) &&
768 FormatToken *Tok = FormatTok;
771 const bool MacroBlock = FormatTok->is(TT_MacroBlockBegin);
772 FormatTok->setBlockKind(BK_Block);
795 if (MacroBlock && FormatTok->is(tok::l_paren))
823 if (MacroBlock ? FormatTok->isNot(TT_MacroBlockEnd)
824 : FormatTok->isNot(tok::r_brace)) {
826 FormatTok->setBlockKind(BK_Block);
830 if (FormatTok->is(tok::r_brace)) {
831 FormatTok->setBlockKind(BK_Block);
833 FormatTok->setFinalizedType(TT_NamespaceRBrace);
837 FormatTok->is(tok::r_brace) && Tok->is(TT_FunctionLBrace);
843 assert(FormatTok->is(tok::r_brace));
870 Tok->MatchingParen = FormatTok;
871 FormatTok->MatchingParen = Tok;
883 while (FormatTok->is(tok::semi)) {
884 FormatTok->Optional = true;
891 if (MacroBlock && FormatTok->is(tok::l_paren))
896 if (FormatTok->is(tok::kw_noexcept)) {
901 if (FormatTok->is(tok::arrow)) {
908 if (MunchSemi && FormatTok->is(tok::semi))
982 assert(FormatTok->is(tok::l_brace));
983 FormatTok->setBlockKind(BK_Block);
984 const FormatToken *OpeningBrace = FormatTok;
994 flushComments(isOnNewLine(*FormatTok));
1001 assert(FormatTok->is(tok::hash) && "'#' expected");
1002 ScopedMacroState MacroState(*Line, Tokens, FormatTok);
1006 if (!FormatTok->Tok.getIdentifierInfo()) {
1011 switch (FormatTok->Tok.getIdentifierInfo()->getPPKeywordID()) {
1092 bool IfNDef = FormatTok->is(tok::pp_ifndef);
1095 if (!IfDef && (FormatTok->is(tok::kw_false) || FormatTok->TokenText == "0"))
1097 if (IfDef && !IfNDef && FormatTok->TokenText == "SWIG")
1100 FormatToken *IfCondition = FormatTok;
1150 if (!FormatTok->Tok.getIdentifierInfo()) {
1158 IncludeGuardToken->TokenText == FormatTok->TokenText) {
1174 FormatTok->Tok.setKind(tok::identifier);
1175 FormatTok->Tok.setIdentifierInfo(Keywords.kw_internal_ident_after_define);
1177 if (FormatTok->Tok.getKind() == tok::l_paren &&
1178 !FormatTok->hasWhitespaceBefore()) {
1192 FormatTok->Finalized = true;
1193 FormatTok = Tokens->getNextToken();
1246 const FormatToken *FormatTok) {
1248 return FormatTok->is(tok::identifier) &&
1249 (!FormatTok->Tok.getIdentifierInfo() ||
1250 !FormatTok->isOneOf(
1261 const FormatToken *FormatTok) {
1262 return FormatTok->Tok.isLiteral() ||
1263 FormatTok->isOneOf(tok::kw_true, tok::kw_false) ||
1264 mustBeJSIdent(Keywords, FormatTok);
1267 // isJSDeclOrStmt returns true if |FormatTok| starts a declaration or statement
1270 const FormatToken *FormatTok) {
1271 return FormatTok->isOneOf(
1335 assert(FormatTok->is(Keywords.kw_import) && "'import' expected");
1345 if (FormatTok->is(tok::colon)) {
1346 FormatTok->setFinalizedType(TT_ModulePartitionColon);
1349 else if (FormatTok->is(tok::less)) {
1351 while (!FormatTok->isOneOf(tok::semi, tok::greater, tok::eof)) {
1354 if (FormatTok->isNot(tok::comment) &&
1355 !FormatTok->TokenText.starts_with("//")) {
1356 FormatTok->setFinalizedType(TT_ImplicitStringLiteral);
1361 if (FormatTok->is(tok::semi)) {
1380 FormatToken *Previous = FormatTok;
1382 FormatToken *Next = FormatTok;
1424 FormatTok->is(tok::pp_include)) {
1426 if (FormatTok->is(tok::string_literal))
1433 while (FormatTok->is(tok::l_square) && handleCppAttributes()) {
1436 if (Keywords.isVerilogStructuredProcedure(*FormatTok)) {
1440 if (FormatTok->isOneOf(Keywords.kw_foreach, Keywords.kw_repeat)) {
1444 if (FormatTok->isOneOf(tok::kw_restrict, Keywords.kw_assert,
1452 if (FormatTok->isOneOf(Keywords.kw_priority, Keywords.kw_unique,
1455 } else if (FormatTok->is(tok::l_paren) &&
1465 if (FormatTok->isAccessSpecifierKeyword()) {
1474 switch (FormatTok->Tok.getKind()) {
1477 if (FormatTok->is(tok::l_brace)) {
1478 FormatTok->setFinalizedType(TT_InlineASMBrace);
1480 while (FormatTok && !eof()) {
1481 if (FormatTok->is(tok::r_brace)) {
1482 FormatTok->setFinalizedType(TT_InlineASMBrace);
1487 FormatTok->Finalized = true;
1537 auto *Default = FormatTok;
1539 if (FormatTok->is(tok::colon)) {
1540 FormatTok->setFinalizedType(TT_CaseLabelColon);
1544 if (FormatTok->is(tok::arrow)) {
1545 FormatTok->setFinalizedType(TT_CaseLabelArrow);
1584 if (Keywords.isVerilogHierarchy(*FormatTok)) {
1588 } else if (FormatTok->is(tok::string_literal)) {
1590 if (FormatTok->is(tok::l_brace)) {
1615 if (FormatTok->is(tok::kw_namespace)) {
1619 if (FormatTok->is(Keywords.kw_import) && parseModuleImport())
1625 if (FormatTok->is(tok::kw_namespace)) {
1631 if (FormatTok->is(TT_ForEachMacro)) {
1635 if (FormatTok->is(TT_MacroBlockBegin)) {
1640 if (FormatTok->is(Keywords.kw_import)) {
1647 if (FormatTok->is(tok::kw_public))
1649 if (FormatTok->isNot(tok::string_literal))
1652 if (FormatTok->is(tok::semi))
1660 if (IsCpp && FormatTok->isOneOf(Keywords.kw_signals, Keywords.kw_qsignals,
1663 if (FormatTok->is(tok::colon)) {
1669 if (IsCpp && FormatTok->is(TT_StatementMacro)) {
1673 if (IsCpp && FormatTok->is(TT_NamespaceMacro)) {
1686 FormatTok->setFinalizedType(TT_GotoLabelColon);
1701 if (IsCpp && FormatTok->isCppAlternativeOperatorKeyword()) {
1704 FormatTok->Tok.setKind(tok::identifier);
1707 const FormatToken *Previous = FormatTok->Previous;
1708 switch (FormatTok->Tok.getKind()) {
1711 if (FormatTok->is(tok::l_brace)) {
1716 FormatTok->is(Keywords.kw_interface)) {
1720 switch (FormatTok->Tok.getObjCKeywordID()) {
1742 if (FormatTok->is(tok::l_brace)) {
1753 if (FormatTok->is(tok::l_paren)) {
1757 if (FormatTok->is(tok::l_brace)) {
1805 if (FormatTok->isOneOf(Keywords.kw_NS_ENUM, Keywords.kw_NS_OPTIONS,
1832 if (FormatTok->is(tok::l_paren)) {
1834 assert(FormatTok->Previous);
1835 if (FormatTok->Previous->endsSequence(tok::r_paren, tok::kw_auto,
1844 if (Style.Language == FormatStyle::LK_Java && FormatTok &&
1845 FormatTok->is(tok::kw_class)) {
1848 if (Style.isJavaScript() && FormatTok &&
1849 FormatTok->Tok.getIdentifierInfo()) {
1868 if (isC78ParameterDecl(FormatTok,
1878 if (FormatTok->isBinaryOperator())
1884 if (FormatTok->Tok.isAnyIdentifier() || FormatTok->isTypeName(LangOpts)) {
1887 while (FormatTok->is(tok::star))
1891 if (FormatTok->is(tok::l_paren))
1894 if (FormatTok->is(tok::l_brace))
1899 FormatTok->setFinalizedType(TT_BracedListLBrace);
1918 FormatTok->setFinalizedType(TT_FunctionLBrace);
1939 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where) &&
1945 if (FormatTok->is(TT_MacroBlockEnd)) {
1955 if (Style.isJavaScript() && FormatTok->is(Keywords.kw_function) &&
1963 FormatTok->is(Keywords.kw_interface)) {
1971 FormatTok = Tokens->setPosition(StoredPosition);
1983 if (FormatTok->is(Keywords.kw_table)) {
1987 if (Keywords.isVerilogBegin(*FormatTok) ||
1988 Keywords.isVerilogHierarchy(*FormatTok)) {
1995 if (!IsCpp && FormatTok->is(Keywords.kw_interface)) {
2001 if (IsCpp && FormatTok->is(TT_StatementMacro)) {
2007 StringRef Text = FormatTok->TokenText;
2009 FormatToken *PreviousToken = FormatTok;
2029 bool FunctionLike = FormatTok->is(tok::l_paren);
2035 ? FormatTok->NewlinesBefore > 0
2039 tokenCanStartNewLine(*FormatTok) && Text == Text.upper()) {
2050 FormatTok->is(TT_FatArrow)) {
2056 if (FormatTok->is(tok::l_brace)) {
2061 FormatTok->setBlockKind(BK_BracedInit);
2066 FormatTok->setFinalizedType(TT_FunctionLBrace);
2075 FormatTok->is(tok::less)) {
2114 if (FormatTok->is(tok::colon)) {
2118 if (FormatTok->is(Keywords.kw_clocking)) {
2137 if (FormatTok->is(tok::l_brace))
2138 FormatTok->Previous->setFinalizedType(TT_TemplateCloser);
2148 assert(FormatTok->is(tok::l_brace));
2152 if (FormatTok->Previous->isNot(tok::identifier))
2194 switch (FormatTok->Tok.getKind()) {
2197 if (FormatTok->is(tok::equal)) {
2198 while (!eof() && FormatTok->isNot(tok::semi))
2211 if (FormatTok->is(TT_FatArrow)) {
2215 } while (!eof() && FormatTok->isNot(tok::semi));
2224 if (FormatTok->isOneOf(Keywords.kw_get, Keywords.kw_init,
2239 assert(FormatTok->is(tok::l_square));
2244 FormatToken &LSquare = *FormatTok;
2251 while (FormatTok->isNot(tok::l_brace)) {
2252 if (FormatTok->isTypeName(LangOpts) || FormatTok->isAttribute()) {
2256 switch (FormatTok->Tok.getKind()) {
2266 assert(FormatTok->Previous);
2267 if (FormatTok->Previous->is(tok::r_square))
2332 FormatTok->setFinalizedType(TT_LambdaArrow);
2337 auto *RequiresToken = FormatTok;
2352 FormatTok->setFinalizedType(TT_LambdaLBrace);
2364 const FormatToken *Previous = FormatTok->Previous;
2365 const FormatToken *LeftSquare = FormatTok;
2374 if (FormatTok->is(tok::l_square) || tok::isLiteral(FormatTok->Tok.getKind()))
2376 if (FormatTok->is(tok::r_square)) {
2386 assert(FormatTok->is(Keywords.kw_function));
2387 if (FormatTok->is(Keywords.kw_async))
2393 if (FormatTok->is(tok::star)) {
2394 FormatTok->setFinalizedType(TT_OverloadedOperator);
2399 if (FormatTok->is(tok::identifier))
2402 if (FormatTok->isNot(tok::l_paren))
2408 if (FormatTok->is(tok::colon)) {
2414 if (FormatTok->is(tok::l_brace))
2417 while (!FormatTok->isOneOf(tok::l_brace, tok::semi) && !eof())
2421 if (FormatTok->is(tok::semi))
2428 if (FormatTok->is(BK_Unknown))
2430 assert(FormatTok->isNot(BK_Unknown));
2431 if (FormatTok->is(BK_Block))
2440 assert(FormatTok->is(TT_FatArrow));
2445 if (FormatTok->isNot(tok::l_brace))
2458 if (Style.isCSharp() && FormatTok->is(TT_FatArrow) &&
2463 if (FormatTok->is(Keywords.kw_function)) {
2467 if (FormatTok->is(tok::l_brace)) {
2474 if (FormatTok->is(IsAngleBracket ? tok::greater : tok::r_brace)) {
2476 FormatTok->setBlockKind(BK_Block);
2483 switch (FormatTok->Tok.getKind()) {
2495 if (FormatTok->is(tok::l_brace))
2503 FormatTok->setBlockKind(BK_BracedInit);
2505 auto *Prev = FormatTok->Previous;
2550 assert(FormatTok->is(tok::l_paren) && "'(' expected.");
2551 auto *LeftParen = FormatTok;
2557 switch (FormatTok->Tok.getKind()) {
2561 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_brace))
2586 FormatTok->Optional = true;
2592 FormatTok->setFinalizedType(TT_TypeDeclarationParen);
2593 } else if (Prev->is(tok::greater) && FormatTok->Previous == LeftParen) {
2612 if (FormatTok->is(tok::l_brace)) {
2623 if (Style.isCSharp() && FormatTok->is(TT_FatArrow))
2635 if (Style.isJavaScript() && (FormatTok->is(Keywords.kw_function)))
2647 auto RequiresToken = FormatTok;
2654 FormatTok->setFinalizedType(AmpAmpTokenType);
2666 assert(FormatTok->is(tok::l_square) && "'[' expected.");
2671 switch (FormatTok->Tok.getKind()) {
2692 if (FormatTok->is(tok::l_brace)) {
2727 PreprocessorDirectives.empty() && FormatTok->isNot(tok::semi)) {
2787 if (FormatTok->isAttribute())
2789 else if (FormatTok->is(tok::l_square))
2795 assert(FormatTok->is(tok::l_square));
2813 assert((FormatTok->is(tok::kw_if) ||
2815 FormatTok->isOneOf(tok::kw_restrict, Keywords.kw_assert,
2822 if (FormatTok->is(Keywords.kw_verilogHash)) {
2824 if (FormatTok->is(tok::numeric_constant))
2826 } else if (FormatTok->isOneOf(Keywords.kw_final, Keywords.kw_property,
2834 while (!eof() && FormatTok->isNot(Keywords.kw_then)) {
2841 if (FormatTok->is(tok::exclaim))
2845 if (FormatTok->is(tok::kw_consteval)) {
2849 if (FormatTok->isOneOf(tok::kw_constexpr, tok::identifier))
2851 if (FormatTok->is(tok::l_paren)) {
2852 FormatTok->setFinalizedType(TT_ConditionLParen);
2858 if (IsVerilogAssert && FormatTok->is(tok::semi)) {
2870 if (isBlockBegin(*FormatTok)) {
2871 FormatTok->setFinalizedType(TT_ControlStatementLBrace);
2872 IfLeftBrace = FormatTok;
2881 } else if (IsVerilogAssert && FormatTok->is(tok::kw_else)) {
2899 if (FormatTok->is(tok::kw_else)) {
2906 if (isBlockBegin(*FormatTok)) {
2908 FormatTok->setFinalizedType(TT_ElseLBrace);
2909 ElseLeftBrace = FormatTok;
2916 if (FormatTok->is(tok::kw_else)) {
2926 } else if (!IsVerilogAssert && FormatTok->is(tok::kw_if)) {
2984 assert(FormatTok->isOneOf(tok::kw_try, tok::kw___try) && "'try' expected");
2988 if (FormatTok->is(tok::colon)) {
2989 auto *Colon = FormatTok;
2992 if (FormatTok->is(tok::identifier)) {
2999 while (FormatTok->is(tok::comma))
3002 while (FormatTok->is(tok::identifier)) {
3004 if (FormatTok->is(tok::l_paren)) {
3006 } else if (FormatTok->is(tok::l_brace)) {
3013 while (FormatTok->is(tok::comma))
3018 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_paren))
3023 if (FormatTok->is(tok::l_brace)) {
3025 FormatTok->setFinalizedType(TT_FunctionLBrace);
3032 } else if (FormatTok->isNot(tok::kw_catch)) {
3042 if (FormatTok->is(tok::at))
3044 if (!(FormatTok->isOneOf(tok::kw_catch, Keywords.kw___except,
3047 FormatTok->is(Keywords.kw_finally)) ||
3048 (FormatTok->isObjCAtKeyword(tok::objc_catch) ||
3049 FormatTok->isObjCAtKeyword(tok::objc_finally)))) {
3053 while (FormatTok->isNot(tok::l_brace)) {
3054 if (FormatTok->is(tok::l_paren)) {
3058 if (FormatTok->isOneOf(tok::semi, tok::r_brace, tok::eof)) {
3083 assert(FormatTok->isOneOf(tok::kw_namespace, TT_NamespaceMacro) &&
3086 const FormatToken &InitialToken = *FormatTok;
3091 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::kw_inline,
3093 (Style.isCSharp() && FormatTok->is(tok::kw_union))) {
3094 if (FormatTok->is(tok::l_square))
3096 else if (FormatTok->is(tok::l_paren))
3102 if (FormatTok->is(tok::l_brace)) {
3103 FormatTok->setFinalizedType(TT_NamespaceLBrace);
3138 assert(FormatTok->is(tok::kw_new) && "'new' expected");
3144 if (FormatTok->is(tok::l_paren))
3148 if (FormatTok->is(tok::l_brace))
3151 if (FormatTok->isOneOf(tok::semi, tok::comma))
3164 if (FormatTok->isOneOf(tok::semi, tok::l_brace, tok::r_brace))
3168 if (FormatTok->is(tok::l_paren)) {
3172 if (FormatTok->is(tok::l_brace))
3183 if (isBlockBegin(*FormatTok)) {
3184 FormatTok->setFinalizedType(TT_ControlStatementLBrace);
3185 FormatToken *LeftBrace = FormatTok;
3206 assert((FormatTok->isOneOf(tok::kw_for, tok::kw_while, TT_ForEachMacro) ||
3208 FormatTok->isOneOf(Keywords.kw_always, Keywords.kw_always_comb,
3215 !FormatTok->isOneOf(tok::kw_for, tok::kw_while);
3219 if (Style.isJavaScript() && FormatTok->is(Keywords.kw_await))
3221 if (IsCpp && FormatTok->is(tok::kw_co_await))
3223 if (HasParens && FormatTok->is(tok::l_paren)) {
3228 FormatTok->setFinalizedType(TT_ConditionLParen);
3235 } else if (Style.AllowShortLoopsOnASingleLine && FormatTok->is(tok::semi) &&
3247 assert(FormatTok->is(tok::kw_do) && "'do' expected");
3253 if (FormatTok->isNot(tok::kw_while)) {
3258 FormatTok->setFinalizedType(TT_DoWhile);
3279 FormatTok->is(tok::l_brace)) {
3285 if (FormatTok->is(tok::kw_break)) {
3298 if (FormatTok->is(tok::semi))
3303 if (FormatTok->isNot(tok::l_brace)) {
3310 assert(FormatTok->is(tok::kw_case) && "'case' expected");
3311 auto *Case = FormatTok;
3316 if (FormatTok->is(tok::colon)) {
3317 FormatTok->setFinalizedType(TT_CaseLabelColon);
3320 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::arrow)) {
3321 FormatTok->setFinalizedType(TT_CaseLabelArrow);
3330 assert(FormatTok->is(tok::kw_switch) && "'switch' expected");
3332 if (FormatTok->is(tok::l_paren))
3337 if (FormatTok->is(tok::l_brace)) {
3339 FormatTok->setFinalizedType(IsExpr ? TT_SwitchExpressionLBrace
3411 FormatToken *AccessSpecifierCandidate = FormatTok;
3414 if (FormatTok->isOneOf(Keywords.kw_slots, Keywords.kw_qslots))
3417 if (FormatTok->is(tok::colon)) {
3420 } else if (FormatTok->isNot(tok::coloncolon) &&
3421 !isCOperatorFollowingVar(FormatTok->Tok.getKind())) {
3434 assert(FormatTok->is(tok::kw_requires) && "'requires' expected");
3435 auto RequiresToken = FormatTok;
3441 switch (FormatTok->Tok.getKind()) {
3530 FormatTok = Tokens->setPosition(StoredPosition);
3545 FormatTok = Tokens->setPosition(StoredPosition);
3560 FormatTok = Tokens->setPosition(StoredPosition);
3568 FormatTok = Tokens->setPosition(StoredPosition);
3581 assert(FormatTok->getPreviousNonComment() == RequiresToken);
3600 FormatTok->Previous->ClosesRequiresClause = true;
3611 assert(FormatTok->getPreviousNonComment() == RequiresToken);
3616 if (FormatTok->is(tok::l_paren)) {
3617 FormatTok->setFinalizedType(TT_RequiresExpressionLParen);
3621 if (FormatTok->is(tok::l_brace)) {
3622 FormatTok->setFinalizedType(TT_RequiresExpressionLBrace);
3653 switch (FormatTok->Tok.getKind()) {
3655 auto RequiresToken = FormatTok;
3686 FormatTok->setFinalizedType(TT_BinaryOperator);
3732 if (FormatTok->isNot(tok::less))
3740 if (!FormatTok->Tok.getIdentifierInfo()) {
3750 assert(FormatTok->Previous);
3751 switch (FormatTok->Previous->Tok.getKind()) {
3765 if (FormatTok->is(tok::less)) {
3776 const FormatToken &InitialToken = *FormatTok;
3779 if (FormatTok->is(tok::kw_enum))
3785 if (Style.isJavaScript() && FormatTok->isOneOf(tok::colon, tok::question))
3789 if (Style.Language == FormatStyle::LK_Proto && FormatTok->is(tok::equal))
3794 if (FormatTok->isOneOf(tok::kw_class, tok::kw_struct))
3796 while (FormatTok->is(tok::l_square))
3801 while (FormatTok->Tok.getIdentifierInfo() ||
3802 FormatTok->isOneOf(tok::colon, tok::coloncolon, tok::less,
3806 FormatTok->setFinalizedType(TT_VerilogDimensionedTypeName);
3809 while (FormatTok->is(tok::l_square))
3815 if (FormatTok->is(tok::l_paren))
3817 if (FormatTok->is(tok::identifier)) {
3821 if (IsCpp && FormatTok->is(tok::identifier))
3827 if (FormatTok->isNot(tok::l_brace))
3829 FormatTok->setFinalizedType(TT_EnumLBrace);
3830 FormatTok->setBlockKind(BK_Block);
3856 if (FormatTok->is(tok::semi))
3875 if (FormatTok->is(tok::semi))
3927 assert(FormatTok->is(tok::l_brace));
3928 const FormatToken *OpeningBrace = FormatTok;
3947 FormatTok = Tokens->setPosition(StoredPosition);
3964 if (FormatTok->is(tok::l_brace)) {
3968 } else if (FormatTok->is(tok::l_paren)) {
3970 } else if (FormatTok->is(tok::comma)) {
3973 } else if (FormatTok->is(tok::semi)) {
3977 } else if (FormatTok->is(tok::r_brace)) {
3993 const FormatToken &InitialToken = *FormatTok;
4007 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::hashhash,
4009 FormatTok->isAttribute() ||
4011 FormatTok->isOneOf(tok::period, tok::comma))) {
4013 FormatTok->isOneOf(Keywords.kw_extends, Keywords.kw_implements)) {
4019 if (FormatTok->is(tok::l_brace)) {
4024 if (FormatTok->is(tok::l_square) && handleCppAttributes())
4026 const auto *Previous = FormatTok;
4028 switch (FormatTok->Tok.getKind()) {
4051 assert(FormatTok->is(tok::l_brace));
4052 const auto *Prev = FormatTok->getPreviousNonComment();
4058 if (FormatTok->isOneOf(tok::colon, tok::less)) {
4061 if (FormatTok->is(tok::less))
4063 else if (FormatTok->is(tok::greater))
4067 if (FormatTok->is(tok::colon)) {
4069 } else if (FormatTok->is(tok::identifier) &&
4070 FormatTok->Previous->is(tok::coloncolon)) {
4071 ClassName = FormatTok;
4072 } else if (FormatTok->is(tok::l_paren) &&
4073 IsNonMacroIdentifier(FormatTok->Previous)) {
4077 if (FormatTok->is(tok::l_brace)) {
4084 if (FormatTok->is(tok::l_square)) {
4085 FormatToken *Previous = FormatTok->Previous;
4097 if (FormatTok->is(tok::semi))
4099 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where)) {
4123 if (FormatTok->is(tok::l_brace)) {
4127 FormatTok->setFinalizedType(OpenBraceType);
4145 assert(FormatTok->isOneOf(tok::l_paren, tok::identifier) &&
4148 if (FormatTok->is(tok::semi)) {
4152 } else if (FormatTok->is(tok::l_brace)) {
4165 assert(FormatTok->is(tok::less) && "'<' expected.");
4169 if (FormatTok->isOneOf(tok::semi, tok::l_brace) ||
4170 FormatTok->isObjCAtKeyword(tok::objc_end)) {
4173 } while (!eof() && FormatTok->isNot(tok::greater));
4179 if (FormatTok->isObjCAtKeyword(tok::objc_end)) {
4184 if (FormatTok->is(tok::l_brace)) {
4188 } else if (FormatTok->is(tok::r_brace)) {
4192 } else if (FormatTok->isOneOf(tok::minus, tok::plus)) {
4202 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_interface ||
4203 FormatTok->Tok.getObjCKeywordID() == tok::objc_implementation);
4209 if (FormatTok->is(tok::less))
4211 if (FormatTok->is(tok::colon)) {
4215 if (FormatTok->is(tok::less))
4217 } else if (FormatTok->is(tok::l_paren)) {
4222 if (FormatTok->is(tok::less))
4225 if (FormatTok->is(tok::l_brace)) {
4239 assert(FormatTok->is(tok::less));
4251 if (FormatTok->isOneOf(tok::semi, tok::l_brace) ||
4252 FormatTok->isObjCAtKeyword(tok::objc_end)) {
4255 if (FormatTok->is(tok::less)) {
4257 } else if (FormatTok->is(tok::greater)) {
4268 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_protocol);
4271 if (FormatTok->is(tok::l_paren)) {
4283 if (FormatTok->is(tok::less))
4287 if (FormatTok->is(tok::semi)) {
4299 bool IsImport = FormatTok->is(Keywords.kw_import);
4300 assert(IsImport || FormatTok->is(tok::kw_export));
4304 if (FormatTok->is(tok::kw_default))
4310 if (FormatTok->is(Keywords.kw_async))
4312 if (FormatTok->is(Keywords.kw_function)) {
4321 if (!IsImport && !FormatTok->isOneOf(tok::l_brace, tok::star) &&
4322 !FormatTok->isStringLiteral() &&
4323 !(FormatTok->is(Keywords.kw_type) &&
4329 if (FormatTok->is(tok::semi))
4336 if (FormatTok->is(tok::l_brace)) {
4337 FormatTok->setBlockKind(BK_Block);
4348 if (FormatTok->is(tok::l_paren))
4350 if (FormatTok->is(tok::semi))
4358 if (FormatTok->isOneOf(tok::star, tok::period, tok::periodstar,
4360 Keywords.isVerilogIdentifier(*FormatTok)) {
4362 } else if (FormatTok->is(tok::l_square)) {
4371 if (FormatTok->isNot(tok::at))
4375 if (FormatTok->is(tok::at))
4377 switch (FormatTok->Tok.getKind()) {
4393 if (FormatTok->is(Keywords.kw_clocking)) {
4395 if (Keywords.isVerilogIdentifier(*FormatTok))
4398 if (FormatTok->is(tok::semi))
4400 } else if (FormatTok->isOneOf(tok::kw_case, Keywords.kw_casex,
4406 if (FormatTok->is(tok::l_paren)) {
4407 FormatTok->setFinalizedType(TT_ConditionLParen);
4410 if (FormatTok->isOneOf(Keywords.kw_inside, Keywords.kw_matches))
4419 if (FormatTok->is(tok::l_square)) {
4420 auto Prev = FormatTok->getPreviousNonComment();
4424 } else if (Keywords.isVerilogIdentifier(*FormatTok) ||
4425 FormatTok->isOneOf(Keywords.kw_automatic, tok::kw_static)) {
4438 while (FormatTok->is(Keywords.kw_import)) {
4442 if (FormatTok->is(tok::semi))
4447 if (FormatTok->is(Keywords.kw_verilogHash)) {
4450 if (FormatTok->is(tok::l_paren)) {
4451 FormatTok->setFinalizedType(TT_VerilogMultiLineListLParen);
4455 if (FormatTok->is(tok::l_paren)) {
4457 FormatTok->setFinalizedType(TT_VerilogMultiLineListLParen);
4462 if (FormatTok->is(Keywords.kw_extends)) {
4466 if (FormatTok->is(tok::l_paren))
4469 if (FormatTok->is(Keywords.kw_implements)) {
4474 } while (FormatTok->is(tok::comma));
4478 if (FormatTok->is(tok::at)) {
4483 if (FormatTok->is(tok::semi))
4492 assert(FormatTok->is(Keywords.kw_table));
4497 while (!eof() && !Keywords.isVerilogEnd(*FormatTok)) {
4498 FormatToken *Tok = FormatTok;
4520 else if (!Style.IndentCaseBlocks && Keywords.isVerilogBegin(*FormatTok))
4607 FormatTok->Previous = nullptr;
4610 bool UnwrappedLineParser::eof() const { return FormatTok->is(tok::eof); }
4612 bool UnwrappedLineParser::isOnNewLine(const FormatToken &FormatTok) {
4613 return (Line->InPPDirective || FormatTok.HasUnescapedNewline) &&
4614 FormatTok.NewlinesBefore > 0;
4617 // Checks if \p FormatTok is a line comment that continues the line comment
4620 continuesLineCommentSection(const FormatToken &FormatTok,
4626 StringRef IndentContent = FormatTok.TokenText;
4627 if (FormatTok.TokenText.starts_with("//") ||
4628 FormatTok.TokenText.starts_with("/*")) {
4629 IndentContent = FormatTok.TokenText.substr(2);
4634 // If Line starts with a line comment, then FormatTok continues the comment
4643 // If Line starts with a token other than a line comment, then FormatTok
4720 return continuesLineComment(FormatTok, /*Previous=*/Line.Tokens.back().Tok,
4749 flushComments(isOnNewLine(*FormatTok));
4750 pushToken(FormatTok);
4751 FormatToken *Previous = FormatTok;
4756 FormatTok->Previous = Previous;
4764 if (Keywords.isVerilogEnd(*FormatTok))
4765 FormatTok->Tok.setKind(tok::r_brace);
4805 FormatToken *FormatTok = Comments[i];
4807 FormatTok->ContinuesLineCommentSection = false;
4809 FormatTok->ContinuesLineCommentSection =
4810 continuesLineCommentSection(*FormatTok, *Line, CommentPragmasRegex);
4812 if (!FormatTok->ContinuesLineCommentSection &&
4813 (isOnNewLine(*FormatTok) || FormatTok->IsFirst)) {
4817 pushToken(FormatTok);
4819 CommentsBeforeNextToken.push_back(FormatTok);
4828 FormatTok = Tokens->getNextToken();
4829 assert(FormatTok);
4830 while (FormatTok->isOneOf(TT_ConflictStart, TT_ConflictEnd,
4832 if (FormatTok->is(TT_ConflictStart))
4834 else if (FormatTok->is(TT_ConflictAlternative))
4836 else if (FormatTok->is(TT_ConflictEnd))
4838 FormatTok = Tokens->getNextToken();
4839 FormatTok->MustBreakBefore = true;
4840 FormatTok->MustBreakBeforeFinalized = true;
4858 FirstNonCommentOnLine, *FormatTok, PreviousWasComment);
4859 PreviousWasComment = FormatTok->is(tok::comment);
4861 while (!Line->InPPDirective && FormatTok->is(tok::hash) &&
4865 distributeComments(Comments, FormatTok);
4884 flushComments(isOnNewLine(*FormatTok));
4886 PreviousWasComment = FormatTok->is(tok::comment);
4888 FirstNonCommentOnLine, *FormatTok, PreviousWasComment);
4896 if (FormatTok->is(tok::identifier) &&
4897 Macros.defined(FormatTok->TokenText) &&
4900 FormatToken *ID = FormatTok;
4954 FormatTok = Tokens->insertTokens(Expansion);
4973 FormatTok = ID;
4977 if (FormatTok->isNot(tok::comment)) {
4978 distributeComments(Comments, FormatTok);
4983 Comments.push_back(FormatTok);
5007 if (FormatTok->isNot(tok::l_paren))
5010 FormatToken *Tok = FormatTok;
5017 switch (FormatTok->Tok.getKind()) {
5051 FormatTok = Tok;