Lines Matching refs:FormatTok

115 static bool isLineComment(const FormatToken &FormatTok) {  in isLineComment()  argument
116 return FormatTok.is(tok::comment) && !FormatTok.TokenText.startswith("/*"); in isLineComment()
122 static bool continuesLineComment(const FormatToken &FormatTok, in continuesLineComment() argument
129 return isLineComment(FormatTok) && FormatTok.NewlinesBefore == 1 && in continuesLineComment()
131 FormatTok.OriginalColumn >= MinContinueColumn; in continuesLineComment()
355 FormatTok = nullptr; in reset()
386 pushToken(FormatTok); in parse()
437 switch (FormatTok->Tok.getKind()) { in parseCSharpGenericTypeConstraint()
441 if (FormatTok->is(Keywords.kw_where)) { in parseCSharpGenericTypeConstraint()
456 switch (FormatTok->Tok.getKind()) { in parseCSharpAttribute()
511 if (FormatTok->getType() == TT_AttributeMacro) { in parseLevel()
515 tok::TokenKind kind = FormatTok->Tok.getKind(); in parseLevel()
516 if (FormatTok->getType() == TT_MacroBlockBegin) in parseLevel()
518 else if (FormatTok->getType() == TT_MacroBlockEnd) in parseLevel()
537 FormatTok->setFinalizedType(NextLBracesType); in parseLevel()
538 } else if (FormatTok->Previous && in parseLevel()
539 FormatTok->Previous->ClosesRequiresClause) { in parseLevel()
545 if (CanContainBracedList && !FormatTok->is(TT_MacroBlockBegin) && in parseLevel()
563 if (FormatTok->isNot(tok::r_brace) || StatementCount != 1 || HasLabel || in parseLevel()
585 FormatTok = Tokens->setPosition(StoredPosition); in parseLevel()
637 FormatToken *Tok = FormatTok; in calculateBraceTypes()
781 FormatTok = Tokens->setPosition(StoredPosition); in calculateBraceTypes()
868 if (Style.isVerilog() && FormatTok->is(tok::colon)) { in parseBlock()
870 if (Keywords.isVerilogIdentifier(*FormatTok)) in parseBlock()
878 Style.isVerilog() && Keywords.isVerilogHierarchy(*FormatTok); in parseBlock()
879 assert((FormatTok->isOneOf(tok::l_brace, TT_MacroBlockBegin) || in parseBlock()
881 (Keywords.isVerilogBegin(*FormatTok) || VerilogHierarchy))) && in parseBlock()
883 FormatToken *Tok = FormatTok; in parseBlock()
886 const bool MacroBlock = FormatTok->is(TT_MacroBlockBegin); in parseBlock()
887 FormatTok->setBlockKind(BK_Block); in parseBlock()
910 if (MacroBlock && FormatTok->is(tok::l_paren)) in parseBlock()
939 if (MacroBlock ? !FormatTok->is(TT_MacroBlockEnd) in parseBlock()
940 : !FormatTok->is(tok::r_brace)) { in parseBlock()
942 FormatTok->setBlockKind(BK_Block); in parseBlock()
947 FormatTok->is(tok::r_brace) && Tok->is(TT_FunctionLBrace); in parseBlock()
953 assert(FormatTok->is(tok::r_brace)); in parseBlock()
980 Tok->MatchingParen = FormatTok; in parseBlock()
981 FormatTok->MatchingParen = Tok; in parseBlock()
993 while (FormatTok->is(tok::semi)) { in parseBlock()
994 FormatTok->Optional = true; in parseBlock()
1001 if (MacroBlock && FormatTok->is(tok::l_paren)) in parseBlock()
1006 if (FormatTok->is(tok::kw_noexcept)) { in parseBlock()
1011 if (FormatTok->is(tok::arrow)) { in parseBlock()
1018 if (MunchSemi && FormatTok->is(tok::semi)) in parseBlock()
1093 assert(FormatTok->is(tok::l_brace)); in parseChildBlock()
1094 FormatTok->setBlockKind(BK_Block); in parseChildBlock()
1095 const FormatToken *OpeningBrace = FormatTok; in parseChildBlock()
1105 flushComments(isOnNewLine(*FormatTok)); in parseChildBlock()
1112 assert(FormatTok->is(tok::hash) && "'#' expected"); in parsePPDirective()
1113 ScopedMacroState MacroState(*Line, Tokens, FormatTok); in parsePPDirective()
1117 if (!FormatTok->Tok.getIdentifierInfo()) { in parsePPDirective()
1122 switch (FormatTok->Tok.getIdentifierInfo()->getPPKeywordID()) { in parsePPDirective()
1203 bool IfNDef = FormatTok->is(tok::pp_ifndef); in parsePPIf()
1206 if (!IfDef && (FormatTok->is(tok::kw_false) || FormatTok->TokenText == "0")) in parsePPIf()
1208 if (IfDef && !IfNDef && FormatTok->TokenText == "SWIG") in parsePPIf()
1211 FormatToken *IfCondition = FormatTok; in parsePPIf()
1261 if (!FormatTok->Tok.getIdentifierInfo()) { in parsePPDefine()
1269 IncludeGuardToken->TokenText == FormatTok->TokenText) { in parsePPDefine()
1285 FormatTok->Tok.setKind(tok::identifier); in parsePPDefine()
1286 FormatTok->Tok.setIdentifierInfo(Keywords.kw_internal_ident_after_define); in parsePPDefine()
1288 if (FormatTok->Tok.getKind() == tok::l_paren && in parsePPDefine()
1289 !FormatTok->hasWhitespaceBefore()) { in parsePPDefine()
1353 const FormatToken *FormatTok) { in mustBeJSIdent() argument
1355 return FormatTok->is(tok::identifier) && in mustBeJSIdent()
1356 (FormatTok->Tok.getIdentifierInfo() == nullptr || in mustBeJSIdent()
1357 !FormatTok->isOneOf( in mustBeJSIdent()
1368 const FormatToken *FormatTok) { in mustBeJSIdentOrValue() argument
1369 return FormatTok->Tok.isLiteral() || in mustBeJSIdentOrValue()
1370 FormatTok->isOneOf(tok::kw_true, tok::kw_false) || in mustBeJSIdentOrValue()
1371 mustBeJSIdent(Keywords, FormatTok); in mustBeJSIdentOrValue()
1377 const FormatToken *FormatTok) { in isJSDeclOrStmt() argument
1378 return FormatTok->isOneOf( in isJSDeclOrStmt()
1442 assert(FormatTok->is(Keywords.kw_import) && "'import' expected"); in parseModuleImport()
1452 if (FormatTok->is(tok::colon)) { in parseModuleImport()
1453 FormatTok->setFinalizedType(TT_ModulePartitionColon); in parseModuleImport()
1456 else if (FormatTok->is(tok::less)) { in parseModuleImport()
1458 while (!FormatTok->isOneOf(tok::semi, tok::greater, tok::eof)) { in parseModuleImport()
1461 if (FormatTok->isNot(tok::comment) && in parseModuleImport()
1462 !FormatTok->TokenText.startswith("//")) { in parseModuleImport()
1463 FormatTok->setFinalizedType(TT_ImplicitStringLiteral); in parseModuleImport()
1468 if (FormatTok->is(tok::semi)) { in parseModuleImport()
1487 FormatToken *Previous = FormatTok; in readTokenWithJavaScriptASI()
1489 FormatToken *Next = FormatTok; in readTokenWithJavaScriptASI()
1531 FormatTok->is(tok::pp_include)) { in parseStructuralElement()
1533 if (FormatTok->is(tok::string_literal)) in parseStructuralElement()
1542 if (FormatTok->isOneOf(Keywords.kw_priority, Keywords.kw_unique, in parseStructuralElement()
1545 } else if (FormatTok->is(tok::l_paren) && in parseStructuralElement()
1555 switch (FormatTok->Tok.getKind()) { in parseStructuralElement()
1558 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1559 FormatTok->setFinalizedType(TT_InlineASMBrace); in parseStructuralElement()
1561 while (FormatTok && !eof()) { in parseStructuralElement()
1562 if (FormatTok->is(tok::r_brace)) { in parseStructuralElement()
1563 FormatTok->setFinalizedType(TT_InlineASMBrace); in parseStructuralElement()
1568 FormatTok->Finalized = true; in parseStructuralElement()
1629 if (FormatTok->is(tok::colon)) { in parseStructuralElement()
1666 if (Keywords.isVerilogHierarchy(*FormatTok)) { in parseStructuralElement()
1670 } else if (FormatTok->is(tok::string_literal)) { in parseStructuralElement()
1672 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1697 if (FormatTok->is(tok::kw_namespace)) { in parseStructuralElement()
1701 if (FormatTok->is(Keywords.kw_import) && parseModuleImport()) in parseStructuralElement()
1707 if (FormatTok->is(tok::kw_namespace)) { in parseStructuralElement()
1713 if (FormatTok->is(TT_ForEachMacro)) { in parseStructuralElement()
1717 if (FormatTok->is(TT_MacroBlockBegin)) { in parseStructuralElement()
1722 if (FormatTok->is(Keywords.kw_import)) { in parseStructuralElement()
1729 if (FormatTok->is(tok::kw_public)) in parseStructuralElement()
1731 if (!FormatTok->is(tok::string_literal)) in parseStructuralElement()
1734 if (FormatTok->is(tok::semi)) in parseStructuralElement()
1743 FormatTok->isOneOf(Keywords.kw_signals, Keywords.kw_qsignals, in parseStructuralElement()
1746 if (FormatTok->is(tok::colon)) { in parseStructuralElement()
1752 if (Style.isCpp() && FormatTok->is(TT_StatementMacro)) { in parseStructuralElement()
1756 if (Style.isCpp() && FormatTok->is(TT_NamespaceMacro)) { in parseStructuralElement()
1766 const FormatToken *Previous = FormatTok->Previous; in parseStructuralElement()
1767 switch (FormatTok->Tok.getKind()) { in parseStructuralElement()
1770 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1775 FormatTok->is(Keywords.kw_interface)) { in parseStructuralElement()
1779 switch (FormatTok->Tok.getObjCKeywordID()) { in parseStructuralElement()
1801 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1812 if (FormatTok->is(tok::l_paren)) { in parseStructuralElement()
1816 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1863 if (FormatTok->isOneOf(Keywords.kw_NS_ENUM, Keywords.kw_NS_OPTIONS, in parseStructuralElement()
1885 if (Style.Language == FormatStyle::LK_Java && FormatTok && in parseStructuralElement()
1886 FormatTok->is(tok::kw_class)) { in parseStructuralElement()
1889 if (Style.isJavaScript() && FormatTok && in parseStructuralElement()
1890 FormatTok->Tok.getIdentifierInfo()) { in parseStructuralElement()
1909 if (isC78ParameterDecl(FormatTok, in parseStructuralElement()
1919 if (FormatTok->isBinaryOperator()) in parseStructuralElement()
1924 if (FormatTok->Tok.isAnyIdentifier() || in parseStructuralElement()
1925 FormatTok->isSimpleTypeSpecifier()) { in parseStructuralElement()
1928 if (FormatTok->is(tok::l_paren)) in parseStructuralElement()
1930 if (FormatTok->is(tok::l_brace)) in parseStructuralElement()
1935 FormatTok->setFinalizedType(NextLBracesType); in parseStructuralElement()
1952 FormatTok->setFinalizedType(TT_FunctionLBrace); in parseStructuralElement()
1972 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where) && in parseStructuralElement()
1978 if (FormatTok->is(TT_MacroBlockEnd)) { in parseStructuralElement()
1988 if (Style.isJavaScript() && FormatTok->is(Keywords.kw_function) && in parseStructuralElement()
1995 FormatTok->is(Keywords.kw_interface)) { in parseStructuralElement()
2003 FormatTok = Tokens->setPosition(StoredPosition); in parseStructuralElement()
2015 if (FormatTok->is(Keywords.kw_table)) { in parseStructuralElement()
2019 if (Keywords.isVerilogBegin(*FormatTok) || in parseStructuralElement()
2020 Keywords.isVerilogHierarchy(*FormatTok)) { in parseStructuralElement()
2027 if (FormatTok->is(Keywords.kw_interface)) { in parseStructuralElement()
2033 if (Style.isCpp() && FormatTok->is(TT_StatementMacro)) { in parseStructuralElement()
2039 StringRef Text = FormatTok->TokenText; in parseStructuralElement()
2041 FormatToken *PreviousToken = FormatTok; in parseStructuralElement()
2059 if (!Style.isVerilog() && FormatTok->is(tok::colon) && in parseStructuralElement()
2069 bool FunctionLike = FormatTok->is(tok::l_paren); in parseStructuralElement()
2075 ? FormatTok->NewlinesBefore > 0 in parseStructuralElement()
2079 tokenCanStartNewLine(*FormatTok) && Text == Text.upper()) { in parseStructuralElement()
2090 FormatTok->is(TT_FatArrow)) { in parseStructuralElement()
2096 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
2101 FormatTok->setBlockKind(BK_BracedInit); in parseStructuralElement()
2105 FormatTok->is(tok::less)) { in parseStructuralElement()
2139 if (FormatTok->is(tok::colon)) { in parseStructuralElement()
2143 if (FormatTok->is(Keywords.kw_clocking)) { in parseStructuralElement()
2168 assert(FormatTok->is(tok::l_brace)); in tryToParsePropertyAccessor()
2172 if (FormatTok->Previous->isNot(tok::identifier)) in tryToParsePropertyAccessor()
2214 switch (FormatTok->Tok.getKind()) { in tryToParsePropertyAccessor()
2217 if (FormatTok->is(tok::equal)) { in tryToParsePropertyAccessor()
2218 while (!eof() && FormatTok->isNot(tok::semi)) in tryToParsePropertyAccessor()
2231 if (FormatTok->is(TT_FatArrow)) { in tryToParsePropertyAccessor()
2235 } while (!eof() && FormatTok->isNot(tok::semi)); in tryToParsePropertyAccessor()
2244 if (FormatTok->isOneOf(Keywords.kw_get, Keywords.kw_init, in tryToParsePropertyAccessor()
2259 assert(FormatTok->is(tok::l_square)); in tryToParseLambda()
2264 FormatToken &LSquare = *FormatTok; in tryToParseLambda()
2271 while (FormatTok->isNot(tok::l_brace)) { in tryToParseLambda()
2272 if (FormatTok->isSimpleTypeSpecifier()) { in tryToParseLambda()
2276 switch (FormatTok->Tok.getKind()) { in tryToParseLambda()
2286 assert(FormatTok->Previous); in tryToParseLambda()
2287 if (FormatTok->Previous->is(tok::r_square)) in tryToParseLambda()
2353 FormatTok->setFinalizedType(TT_LambdaArrow); in tryToParseLambda()
2361 FormatTok->setFinalizedType(TT_LambdaLBrace); in tryToParseLambda()
2368 const FormatToken *Previous = FormatTok->Previous; in tryToParseLambdaIntroducer()
2369 const FormatToken *LeftSquare = FormatTok; in tryToParseLambdaIntroducer()
2378 if (FormatTok->is(tok::l_square)) in tryToParseLambdaIntroducer()
2380 if (FormatTok->is(tok::r_square)) { in tryToParseLambdaIntroducer()
2390 assert(FormatTok->is(Keywords.kw_function) || in tryToParseJSFunction()
2391 FormatTok->startsSequence(Keywords.kw_async, Keywords.kw_function)); in tryToParseJSFunction()
2392 if (FormatTok->is(Keywords.kw_async)) in tryToParseJSFunction()
2398 if (FormatTok->is(tok::star)) { in tryToParseJSFunction()
2399 FormatTok->setFinalizedType(TT_OverloadedOperator); in tryToParseJSFunction()
2404 if (FormatTok->is(tok::identifier)) in tryToParseJSFunction()
2407 if (FormatTok->isNot(tok::l_paren)) in tryToParseJSFunction()
2413 if (FormatTok->is(tok::colon)) { in tryToParseJSFunction()
2419 if (FormatTok->is(tok::l_brace)) in tryToParseJSFunction()
2422 while (!FormatTok->isOneOf(tok::l_brace, tok::semi) && !eof()) in tryToParseJSFunction()
2426 if (FormatTok->is(tok::semi)) in tryToParseJSFunction()
2433 if (FormatTok->is(BK_Unknown)) in tryToParseBracedList()
2435 assert(FormatTok->isNot(BK_Unknown)); in tryToParseBracedList()
2436 if (FormatTok->is(BK_Block)) in tryToParseBracedList()
2445 assert(FormatTok->is(TT_FatArrow)); in tryToParseChildBlock()
2450 if (FormatTok->isNot(tok::l_brace)) in tryToParseChildBlock()
2464 if (Style.isCSharp() && FormatTok->is(TT_FatArrow) && in parseBracedList()
2469 if (FormatTok->is(Keywords.kw_function) || in parseBracedList()
2470 FormatTok->startsSequence(Keywords.kw_async, Keywords.kw_function)) { in parseBracedList()
2474 if (FormatTok->is(tok::l_brace)) { in parseBracedList()
2481 if (FormatTok->Tok.getKind() == ClosingBraceKind) { in parseBracedList()
2487 switch (FormatTok->Tok.getKind()) { in parseBracedList()
2499 if (FormatTok->is(tok::l_brace)) in parseBracedList()
2507 FormatTok->setBlockKind(BK_BracedInit); in parseBracedList()
2552 assert(FormatTok->is(tok::l_paren) && "'(' expected."); in parseParens()
2555 switch (FormatTok->Tok.getKind()) { in parseParens()
2558 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_brace)) in parseParens()
2576 if (FormatTok->is(tok::l_brace)) { in parseParens()
2582 if (Style.isCSharp() && FormatTok->is(TT_FatArrow)) in parseParens()
2595 (FormatTok->is(Keywords.kw_function) || in parseParens()
2596 FormatTok->startsSequence(Keywords.kw_async, in parseParens()
2604 auto RequiresToken = FormatTok; in parseParens()
2611 FormatTok->setFinalizedType(AmpAmpTokenType); in parseParens()
2622 assert(FormatTok->is(tok::l_square) && "'[' expected."); in parseSquare()
2627 switch (FormatTok->Tok.getKind()) { in parseSquare()
2647 if (FormatTok->is(tok::l_brace)) { in parseSquare()
2682 PreprocessorDirectives.empty() && FormatTok->isNot(tok::semi)) { in parseUnbracedBody()
2740 if (FormatTok->is(TT_AttributeMacro)) in handleAttributes()
2742 if (FormatTok->is(tok::l_square)) in handleAttributes()
2748 assert(FormatTok->is(tok::l_square)); in handleCppAttributes()
2765 assert(FormatTok->is(tok::kw_if) && "'if' expected"); in parseIfThenElse()
2767 if (FormatTok->is(tok::exclaim)) in parseIfThenElse()
2771 if (FormatTok->is(tok::kw_consteval)) { in parseIfThenElse()
2775 if (FormatTok->isOneOf(tok::kw_constexpr, tok::identifier)) in parseIfThenElse()
2777 if (FormatTok->is(tok::l_paren)) in parseIfThenElse()
2788 if (isBlockBegin(*FormatTok)) { in parseIfThenElse()
2789 FormatTok->setFinalizedType(TT_ControlStatementLBrace); in parseIfThenElse()
2790 IfLeftBrace = FormatTok; in parseIfThenElse()
2814 if (FormatTok->is(tok::kw_else)) { in parseIfThenElse()
2821 if (isBlockBegin(*FormatTok)) { in parseIfThenElse()
2823 FormatTok->setFinalizedType(TT_ElseLBrace); in parseIfThenElse()
2824 ElseLeftBrace = FormatTok; in parseIfThenElse()
2830 if (FormatTok->is(tok::kw_else)) { in parseIfThenElse()
2840 } else if (FormatTok->is(tok::kw_if)) { in parseIfThenElse()
2898 assert(FormatTok->isOneOf(tok::kw_try, tok::kw___try) && "'try' expected"); in parseTryCatch()
2901 if (FormatTok->is(tok::colon)) { in parseTryCatch()
2907 while (FormatTok->is(tok::comma)) in parseTryCatch()
2910 while (FormatTok->is(tok::identifier)) { in parseTryCatch()
2912 if (FormatTok->is(tok::l_paren)) in parseTryCatch()
2914 if (FormatTok->Previous && FormatTok->Previous->is(tok::identifier) && in parseTryCatch()
2915 FormatTok->is(tok::l_brace)) { in parseTryCatch()
2918 } while (!FormatTok->is(tok::r_brace)); in parseTryCatch()
2924 while (FormatTok->is(tok::comma)) in parseTryCatch()
2929 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_paren)) in parseTryCatch()
2934 if (FormatTok->is(tok::l_brace)) { in parseTryCatch()
2941 } else if (!FormatTok->is(tok::kw_catch)) { in parseTryCatch()
2951 if (FormatTok->is(tok::at)) in parseTryCatch()
2953 if (!(FormatTok->isOneOf(tok::kw_catch, Keywords.kw___except, in parseTryCatch()
2956 FormatTok->is(Keywords.kw_finally)) || in parseTryCatch()
2957 (FormatTok->isObjCAtKeyword(tok::objc_catch) || in parseTryCatch()
2958 FormatTok->isObjCAtKeyword(tok::objc_finally)))) { in parseTryCatch()
2962 while (FormatTok->isNot(tok::l_brace)) { in parseTryCatch()
2963 if (FormatTok->is(tok::l_paren)) { in parseTryCatch()
2967 if (FormatTok->isOneOf(tok::semi, tok::r_brace, tok::eof)) { in parseTryCatch()
2992 assert(FormatTok->isOneOf(tok::kw_namespace, TT_NamespaceMacro) && in parseNamespace()
2995 const FormatToken &InitialToken = *FormatTok; in parseNamespace()
3000 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::kw_inline, in parseNamespace()
3002 (Style.isCSharp() && FormatTok->is(tok::kw_union))) { in parseNamespace()
3003 if (FormatTok->is(tok::l_square)) in parseNamespace()
3005 else if (FormatTok->is(tok::l_paren)) in parseNamespace()
3011 if (FormatTok->is(tok::l_brace)) { in parseNamespace()
3036 if (FormatTok->is(tok::semi)) in parseNamespace()
3048 assert(FormatTok->is(tok::kw_new) && "'new' expected"); in parseNew()
3054 if (FormatTok->is(tok::l_paren)) in parseNew()
3058 if (FormatTok->is(tok::l_brace)) in parseNew()
3061 if (FormatTok->isOneOf(tok::semi, tok::comma)) in parseNew()
3074 if (FormatTok->isOneOf(tok::semi, tok::l_brace, tok::r_brace)) in parseNew()
3078 if (FormatTok->is(tok::l_paren)) { in parseNew()
3082 if (FormatTok->is(tok::l_brace)) in parseNew()
3093 if (isBlockBegin(*FormatTok)) { in parseLoopBody()
3095 FormatTok->setFinalizedType(TT_ControlStatementLBrace); in parseLoopBody()
3096 FormatToken *LeftBrace = FormatTok; in parseLoopBody()
3116 assert(FormatTok->isOneOf(tok::kw_for, tok::kw_while, TT_ForEachMacro) && in parseForOrWhileLoop()
3119 !FormatTok->isOneOf(tok::kw_for, tok::kw_while); in parseForOrWhileLoop()
3123 if (Style.isJavaScript() && FormatTok->is(Keywords.kw_await)) in parseForOrWhileLoop()
3125 if (Style.isCpp() && FormatTok->is(tok::kw_co_await)) in parseForOrWhileLoop()
3127 if (FormatTok->is(tok::l_paren)) in parseForOrWhileLoop()
3135 assert(FormatTok->is(tok::kw_do) && "'do' expected"); in parseDoWhile()
3141 if (!FormatTok->is(tok::kw_while)) { in parseDoWhile()
3164 FormatTok->is(tok::l_brace)) { in parseLabel()
3170 if (FormatTok->is(tok::kw_break)) { in parseLabel()
3183 if (FormatTok->is(tok::semi)) in parseLabel()
3188 if (FormatTok->isNot(tok::l_brace)) { in parseLabel()
3195 assert(FormatTok->is(tok::kw_case) && "'case' expected"); in parseCaseLabel()
3200 } while (!eof() && !FormatTok->is(tok::colon)); in parseCaseLabel()
3205 assert(FormatTok->is(tok::kw_switch) && "'switch' expected"); in parseSwitch()
3207 if (FormatTok->is(tok::l_paren)) in parseSwitch()
3212 if (FormatTok->is(tok::l_brace)) { in parseSwitch()
3279 FormatToken *AccessSpecifierCandidate = FormatTok; in parseAccessSpecifier()
3282 if (FormatTok->isOneOf(Keywords.kw_slots, Keywords.kw_qslots)) in parseAccessSpecifier()
3285 if (FormatTok->is(tok::colon)) { in parseAccessSpecifier()
3288 } else if (!FormatTok->is(tok::coloncolon) && in parseAccessSpecifier()
3289 !isCOperatorFollowingVar(FormatTok->Tok.getKind())) { in parseAccessSpecifier()
3302 assert(FormatTok->is(tok::kw_requires) && "'requires' expected"); in parseRequires()
3303 auto RequiresToken = FormatTok; in parseRequires()
3309 switch (FormatTok->Tok.getKind()) { in parseRequires()
3397 FormatTok = Tokens->setPosition(StoredPosition); in parseRequires()
3402 FormatTok = Tokens->setPosition(StoredPosition); in parseRequires()
3414 FormatTok = Tokens->setPosition(StoredPosition); in parseRequires()
3429 FormatTok = Tokens->setPosition(StoredPosition); in parseRequires()
3437 FormatTok = Tokens->setPosition(StoredPosition); in parseRequires()
3450 assert(FormatTok->getPreviousNonComment() == RequiresToken); in parseRequiresClause()
3469 FormatTok->Previous->ClosesRequiresClause = true; in parseRequiresClause()
3480 assert(FormatTok->getPreviousNonComment() == RequiresToken); in parseRequiresExpression()
3485 if (FormatTok->is(tok::l_paren)) { in parseRequiresExpression()
3486 FormatTok->setFinalizedType(TT_RequiresExpressionLParen); in parseRequiresExpression()
3490 if (FormatTok->is(tok::l_brace)) { in parseRequiresExpression()
3491 FormatTok->setFinalizedType(TT_RequiresExpressionLBrace); in parseRequiresExpression()
3512 switch (FormatTok->Tok.getKind()) { in parseConstraintExpression()
3514 auto RequiresToken = FormatTok; in parseConstraintExpression()
3542 FormatTok->setFinalizedType(TT_BinaryOperator); in parseConstraintExpression()
3585 if (!FormatTok->is(tok::less)) in parseConstraintExpression()
3605 if (!FormatTok->Tok.getIdentifierInfo()) { in parseConstraintExpression()
3615 assert(FormatTok->Previous); in parseConstraintExpression()
3616 switch (FormatTok->Previous->Tok.getKind()) { in parseConstraintExpression()
3630 if (FormatTok->is(tok::less)) { in parseConstraintExpression()
3641 const FormatToken &InitialToken = *FormatTok; in parseEnum()
3644 if (FormatTok->is(tok::kw_enum)) in parseEnum()
3650 if (Style.isJavaScript() && FormatTok->isOneOf(tok::colon, tok::question)) in parseEnum()
3654 if (Style.Language == FormatStyle::LK_Proto && FormatTok->is(tok::equal)) in parseEnum()
3658 if (FormatTok->isOneOf(tok::kw_class, tok::kw_struct)) in parseEnum()
3661 while (FormatTok->Tok.getIdentifierInfo() || in parseEnum()
3662 FormatTok->isOneOf(tok::colon, tok::coloncolon, tok::less, in parseEnum()
3667 if (FormatTok->is(tok::l_paren)) in parseEnum()
3669 if (FormatTok->is(TT_AttributeSquare)) { in parseEnum()
3672 if (FormatTok->Next && FormatTok->is(TT_AttributeSquare)) in parseEnum()
3675 if (FormatTok->is(tok::identifier)) { in parseEnum()
3679 if (Style.isCpp() && FormatTok->is(tok::identifier)) in parseEnum()
3685 if (FormatTok->isNot(tok::l_brace)) in parseEnum()
3687 FormatTok->setFinalizedType(TT_EnumLBrace); in parseEnum()
3688 FormatTok->setBlockKind(BK_Block); in parseEnum()
3715 if (FormatTok->is(tok::semi)) in parseEnum()
3733 if (FormatTok->is(tok::semi)) in parseStructLike()
3785 assert(FormatTok->is(tok::l_brace)); in parseJavaEnumBody()
3786 const FormatToken *OpeningBrace = FormatTok; in parseJavaEnumBody()
3805 FormatTok = Tokens->setPosition(StoredPosition); in parseJavaEnumBody()
3822 if (FormatTok->is(tok::l_brace)) { in parseJavaEnumBody()
3826 } else if (FormatTok->is(tok::l_paren)) { in parseJavaEnumBody()
3828 } else if (FormatTok->is(tok::comma)) { in parseJavaEnumBody()
3831 } else if (FormatTok->is(tok::semi)) { in parseJavaEnumBody()
3835 } else if (FormatTok->is(tok::r_brace)) { in parseJavaEnumBody()
3851 const FormatToken &InitialToken = *FormatTok; in parseRecord()
3857 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::hashhash, in parseRecord()
3861 FormatTok->isOneOf(tok::period, tok::comma))) { in parseRecord()
3863 FormatTok->isOneOf(Keywords.kw_extends, Keywords.kw_implements)) { in parseRecord()
3868 if (FormatTok->is(tok::l_brace)) { in parseRecord()
3873 if (FormatTok->is(tok::l_square) && handleCppAttributes()) in parseRecord()
3876 FormatTok->is(tok::identifier) && in parseRecord()
3877 FormatTok->TokenText != FormatTok->TokenText.upper(); in parseRecord()
3880 if (!IsNonMacroIdentifier && FormatTok->is(tok::l_paren)) in parseRecord()
3894 if (FormatTok->isOneOf(tok::colon, tok::less)) { in parseRecord()
3896 if (FormatTok->is(tok::l_brace)) { in parseRecord()
3901 if (FormatTok->is(tok::l_square)) { in parseRecord()
3902 FormatToken *Previous = FormatTok->Previous; in parseRecord()
3914 if (FormatTok->is(tok::semi)) in parseRecord()
3916 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where)) { in parseRecord()
3939 if (FormatTok->is(tok::l_brace)) { in parseRecord()
3940 FormatTok->setFinalizedType(GetBraceType(InitialToken)); in parseRecord()
3957 assert(FormatTok->isOneOf(tok::l_paren, tok::identifier) && in parseObjCMethod()
3960 if (FormatTok->is(tok::semi)) { in parseObjCMethod()
3964 } else if (FormatTok->is(tok::l_brace)) { in parseObjCMethod()
3977 assert(FormatTok->is(tok::less) && "'<' expected."); in parseObjCProtocolList()
3981 if (FormatTok->isOneOf(tok::semi, tok::l_brace) || in parseObjCProtocolList()
3982 FormatTok->isObjCAtKeyword(tok::objc_end)) { in parseObjCProtocolList()
3985 } while (!eof() && FormatTok->isNot(tok::greater)); in parseObjCProtocolList()
3991 if (FormatTok->isObjCAtKeyword(tok::objc_end)) { in parseObjCUntilAtEnd()
3996 if (FormatTok->is(tok::l_brace)) { in parseObjCUntilAtEnd()
4000 } else if (FormatTok->is(tok::r_brace)) { in parseObjCUntilAtEnd()
4004 } else if (FormatTok->isOneOf(tok::minus, tok::plus)) { in parseObjCUntilAtEnd()
4014 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_interface || in parseObjCInterfaceOrImplementation()
4015 FormatTok->Tok.getObjCKeywordID() == tok::objc_implementation); in parseObjCInterfaceOrImplementation()
4021 if (FormatTok->is(tok::less)) in parseObjCInterfaceOrImplementation()
4023 if (FormatTok->is(tok::colon)) { in parseObjCInterfaceOrImplementation()
4027 if (FormatTok->is(tok::less)) in parseObjCInterfaceOrImplementation()
4029 } else if (FormatTok->is(tok::l_paren)) { in parseObjCInterfaceOrImplementation()
4034 if (FormatTok->is(tok::less)) in parseObjCInterfaceOrImplementation()
4037 if (FormatTok->is(tok::l_brace)) { in parseObjCInterfaceOrImplementation()
4051 assert(FormatTok->is(tok::less)); in parseObjCLightweightGenerics()
4063 if (FormatTok->isOneOf(tok::semi, tok::l_brace) || in parseObjCLightweightGenerics()
4064 FormatTok->isObjCAtKeyword(tok::objc_end)) { in parseObjCLightweightGenerics()
4067 if (FormatTok->is(tok::less)) { in parseObjCLightweightGenerics()
4069 } else if (FormatTok->is(tok::greater)) { in parseObjCLightweightGenerics()
4080 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_protocol); in parseObjCProtocol()
4083 if (FormatTok->is(tok::l_paren)) { in parseObjCProtocol()
4095 if (FormatTok->is(tok::less)) in parseObjCProtocol()
4099 if (FormatTok->is(tok::semi)) { in parseObjCProtocol()
4111 bool IsImport = FormatTok->is(Keywords.kw_import); in parseJavaScriptEs6ImportExport()
4112 assert(IsImport || FormatTok->is(tok::kw_export)); in parseJavaScriptEs6ImportExport()
4116 if (FormatTok->is(tok::kw_default)) in parseJavaScriptEs6ImportExport()
4122 if (FormatTok->is(Keywords.kw_async)) in parseJavaScriptEs6ImportExport()
4124 if (FormatTok->is(Keywords.kw_function)) { in parseJavaScriptEs6ImportExport()
4133 if (!IsImport && !FormatTok->isOneOf(tok::l_brace, tok::star) && in parseJavaScriptEs6ImportExport()
4134 !FormatTok->isStringLiteral()) { in parseJavaScriptEs6ImportExport()
4139 if (FormatTok->is(tok::semi)) in parseJavaScriptEs6ImportExport()
4146 if (FormatTok->is(tok::l_brace)) { in parseJavaScriptEs6ImportExport()
4147 FormatTok->setBlockKind(BK_Block); in parseJavaScriptEs6ImportExport()
4158 if (FormatTok->is(tok::l_paren)) in parseStatementMacro()
4160 if (FormatTok->is(tok::semi)) in parseStatementMacro()
4168 if (FormatTok->isOneOf(tok::star, tok::period, tok::periodstar, in parseVerilogHierarchyIdentifier()
4170 Keywords.isVerilogIdentifier(*FormatTok)) { in parseVerilogHierarchyIdentifier()
4172 } else if (FormatTok->is(tok::l_square)) { in parseVerilogHierarchyIdentifier()
4181 if (!FormatTok->is(tok::at)) in parseVerilogSensitivityList()
4185 if (FormatTok->is(tok::at)) in parseVerilogSensitivityList()
4187 switch (FormatTok->Tok.getKind()) { in parseVerilogSensitivityList()
4203 if (FormatTok->is(Keywords.kw_clocking)) { in parseVerilogHierarchyHeader()
4205 if (Keywords.isVerilogIdentifier(*FormatTok)) in parseVerilogHierarchyHeader()
4208 if (FormatTok->is(tok::semi)) in parseVerilogHierarchyHeader()
4210 } else if (FormatTok->isOneOf(tok::kw_case, Keywords.kw_casex, in parseVerilogHierarchyHeader()
4216 if (FormatTok->is(tok::l_paren)) { in parseVerilogHierarchyHeader()
4217 FormatTok->setFinalizedType(TT_ConditionLParen); in parseVerilogHierarchyHeader()
4220 if (FormatTok->isOneOf(Keywords.kw_inside, Keywords.kw_matches)) in parseVerilogHierarchyHeader()
4229 if (FormatTok->is(tok::l_square)) { in parseVerilogHierarchyHeader()
4230 auto Prev = FormatTok->getPreviousNonComment(); in parseVerilogHierarchyHeader()
4234 } else if (Keywords.isVerilogIdentifier(*FormatTok) || in parseVerilogHierarchyHeader()
4235 FormatTok->isOneOf(Keywords.kw_automatic, tok::kw_static)) { in parseVerilogHierarchyHeader()
4248 while (FormatTok->is(Keywords.kw_import)) { in parseVerilogHierarchyHeader()
4252 if (FormatTok->is(tok::semi)) in parseVerilogHierarchyHeader()
4257 if (FormatTok->is(Keywords.kw_verilogHash)) { in parseVerilogHierarchyHeader()
4260 if (FormatTok->is(tok::l_paren)) in parseVerilogHierarchyHeader()
4263 if (FormatTok->is(tok::l_paren)) { in parseVerilogHierarchyHeader()
4269 if (FormatTok->is(Keywords.kw_extends)) { in parseVerilogHierarchyHeader()
4273 if (FormatTok->is(tok::l_paren)) in parseVerilogHierarchyHeader()
4276 if (FormatTok->is(Keywords.kw_implements)) { in parseVerilogHierarchyHeader()
4281 } while (FormatTok->is(tok::comma)); in parseVerilogHierarchyHeader()
4285 if (FormatTok->is(tok::at)) { in parseVerilogHierarchyHeader()
4290 if (FormatTok->is(tok::semi)) in parseVerilogHierarchyHeader()
4299 assert(FormatTok->is(Keywords.kw_table)); in parseVerilogTable()
4304 while (!eof() && !Keywords.isVerilogEnd(*FormatTok)) { in parseVerilogTable()
4305 FormatToken *Tok = FormatTok; in parseVerilogTable()
4327 else if (!Style.IndentCaseBlocks && Keywords.isVerilogBegin(*FormatTok)) in parseVerilogCaseLabel()
4368 FormatTok->Previous = nullptr; in addUnwrappedLine()
4371 bool UnwrappedLineParser::eof() const { return FormatTok->is(tok::eof); } in eof()
4373 bool UnwrappedLineParser::isOnNewLine(const FormatToken &FormatTok) { in isOnNewLine() argument
4374 return (Line->InPPDirective || FormatTok.HasUnescapedNewline) && in isOnNewLine()
4375 FormatTok.NewlinesBefore > 0; in isOnNewLine()
4381 continuesLineCommentSection(const FormatToken &FormatTok, in continuesLineCommentSection() argument
4387 StringRef IndentContent = FormatTok.TokenText; in continuesLineCommentSection()
4388 if (FormatTok.TokenText.startswith("//") || in continuesLineCommentSection()
4389 FormatTok.TokenText.startswith("/*")) { in continuesLineCommentSection()
4390 IndentContent = FormatTok.TokenText.substr(2); in continuesLineCommentSection()
4481 return continuesLineComment(FormatTok, /*Previous=*/Line.Tokens.back().Tok, in continuesLineCommentSection()
4510 flushComments(isOnNewLine(*FormatTok)); in nextToken()
4511 pushToken(FormatTok); in nextToken()
4512 FormatToken *Previous = FormatTok; in nextToken()
4517 FormatTok->Previous = Previous; in nextToken()
4525 if (Keywords.isVerilogEnd(*FormatTok)) in nextToken()
4526 FormatTok->Tok.setKind(tok::r_brace); in nextToken()
4566 FormatToken *FormatTok = Comments[i]; in distributeComments() local
4568 FormatTok->ContinuesLineCommentSection = false; in distributeComments()
4570 FormatTok->ContinuesLineCommentSection = in distributeComments()
4571 continuesLineCommentSection(*FormatTok, *Line, CommentPragmasRegex); in distributeComments()
4573 if (!FormatTok->ContinuesLineCommentSection && in distributeComments()
4574 (isOnNewLine(*FormatTok) || FormatTok->IsFirst)) { in distributeComments()
4578 pushToken(FormatTok); in distributeComments()
4580 CommentsBeforeNextToken.push_back(FormatTok); in distributeComments()
4589 FormatTok = Tokens->getNextToken(); in readToken()
4590 assert(FormatTok); in readToken()
4591 while (FormatTok->getType() == TT_ConflictStart || in readToken()
4592 FormatTok->getType() == TT_ConflictEnd || in readToken()
4593 FormatTok->getType() == TT_ConflictAlternative) { in readToken()
4594 if (FormatTok->getType() == TT_ConflictStart) in readToken()
4596 else if (FormatTok->getType() == TT_ConflictAlternative) in readToken()
4598 else if (FormatTok->getType() == TT_ConflictEnd) in readToken()
4600 FormatTok = Tokens->getNextToken(); in readToken()
4601 FormatTok->MustBreakBefore = true; in readToken()
4619 FirstNonCommentOnLine, *FormatTok, PreviousWasComment); in readToken()
4620 PreviousWasComment = FormatTok->is(tok::comment); in readToken()
4622 while (!Line->InPPDirective && FormatTok->is(tok::hash) && in readToken()
4626 distributeComments(Comments, FormatTok); in readToken()
4643 flushComments(isOnNewLine(*FormatTok)); in readToken()
4645 PreviousWasComment = FormatTok->is(tok::comment); in readToken()
4647 FirstNonCommentOnLine, *FormatTok, PreviousWasComment); in readToken()
4655 if (!FormatTok->is(tok::comment)) { in readToken()
4656 distributeComments(Comments, FormatTok); in readToken()
4661 Comments.push_back(FormatTok); in readToken()