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