Lines Matching refs:FormatTok
88 static bool isLineComment(const FormatToken &FormatTok) { in isLineComment() argument
89 return FormatTok.is(tok::comment) && !FormatTok.TokenText.startswith("/*"); in isLineComment()
95 static bool continuesLineComment(const FormatToken &FormatTok, in continuesLineComment() argument
102 return isLineComment(FormatTok) && FormatTok.NewlinesBefore == 1 && in continuesLineComment()
104 FormatTok.OriginalColumn >= MinContinueColumn; in continuesLineComment()
338 FormatTok = nullptr; in reset()
369 pushToken(FormatTok); in parse()
420 switch (FormatTok->Tok.getKind()) { in parseCSharpGenericTypeConstraint()
424 if (FormatTok->is(Keywords.kw_where)) { in parseCSharpGenericTypeConstraint()
439 switch (FormatTok->Tok.getKind()) { in parseCSharpAttribute()
494 if (FormatTok->getType() == TT_AttributeMacro) { in parseLevel()
498 tok::TokenKind kind = FormatTok->Tok.getKind(); in parseLevel()
499 if (FormatTok->getType() == TT_MacroBlockBegin) in parseLevel()
501 else if (FormatTok->getType() == TT_MacroBlockEnd) in parseLevel()
520 FormatTok->setFinalizedType(NextLBracesType); in parseLevel()
521 } else if (FormatTok->Previous && in parseLevel()
522 FormatTok->Previous->ClosesRequiresClause) { in parseLevel()
528 if (CanContainBracedList && !FormatTok->is(TT_MacroBlockBegin) && in parseLevel()
546 if (FormatTok->isNot(tok::r_brace) || StatementCount != 1 || HasLabel || in parseLevel()
568 FormatTok = Tokens->setPosition(StoredPosition); in parseLevel()
616 FormatToken *Tok = FormatTok; in calculateBraceTypes()
760 FormatTok = Tokens->setPosition(StoredPosition); in calculateBraceTypes()
835 if (Style.isVerilog() && FormatTok->is(tok::colon)) { in parseBlock()
837 if (Keywords.isVerilogIdentifier(*FormatTok)) in parseBlock()
842 assert((FormatTok->isOneOf(tok::l_brace, TT_MacroBlockBegin) || in parseBlock()
843 (Style.isVerilog() && Keywords.isVerilogBegin(*FormatTok))) && in parseBlock()
845 FormatToken *Tok = FormatTok; in parseBlock()
848 const bool MacroBlock = FormatTok->is(TT_MacroBlockBegin); in parseBlock()
849 FormatTok->setBlockKind(BK_Block); in parseBlock()
866 if (MacroBlock && FormatTok->is(tok::l_paren)) in parseBlock()
895 if (MacroBlock ? !FormatTok->is(TT_MacroBlockEnd) in parseBlock()
896 : !FormatTok->is(tok::r_brace)) { in parseBlock()
898 FormatTok->setBlockKind(BK_Block); in parseBlock()
906 assert(FormatTok->is(tok::r_brace)); in parseBlock()
933 Tok->MatchingParen = FormatTok; in parseBlock()
934 FormatTok->MatchingParen = Tok; in parseBlock()
943 if (MacroBlock && FormatTok->is(tok::l_paren)) in parseBlock()
946 if (FormatTok->is(tok::kw_noexcept)) { in parseBlock()
951 if (FormatTok->is(tok::arrow)) { in parseBlock()
958 if (MunchSemi && FormatTok->is(tok::semi)) in parseBlock()
1035 assert(FormatTok->is(tok::l_brace)); in parseChildBlock()
1036 FormatTok->setBlockKind(BK_Block); in parseChildBlock()
1037 const FormatToken *OpeningBrace = FormatTok; in parseChildBlock()
1047 flushComments(isOnNewLine(*FormatTok)); in parseChildBlock()
1054 assert(FormatTok->is(tok::hash) && "'#' expected"); in parsePPDirective()
1055 ScopedMacroState MacroState(*Line, Tokens, FormatTok); in parsePPDirective()
1059 if (!FormatTok->Tok.getIdentifierInfo()) { in parsePPDirective()
1064 switch (FormatTok->Tok.getIdentifierInfo()->getPPKeywordID()) { in parsePPDirective()
1144 bool IfNDef = FormatTok->is(tok::pp_ifndef); in parsePPIf()
1147 if (!IfDef && (FormatTok->is(tok::kw_false) || FormatTok->TokenText == "0")) in parsePPIf()
1149 if (IfDef && !IfNDef && FormatTok->TokenText == "SWIG") in parsePPIf()
1152 FormatToken *IfCondition = FormatTok; in parsePPIf()
1201 if (!FormatTok->Tok.getIdentifierInfo()) { in parsePPDefine()
1209 IncludeGuardToken->TokenText == FormatTok->TokenText) { in parsePPDefine()
1225 FormatTok->Tok.setKind(tok::identifier); in parsePPDefine()
1226 FormatTok->Tok.setIdentifierInfo(Keywords.kw_internal_ident_after_define); in parsePPDefine()
1228 if (FormatTok->Tok.getKind() == tok::l_paren && in parsePPDefine()
1229 !FormatTok->hasWhitespaceBefore()) { in parsePPDefine()
1284 const FormatToken *FormatTok) { in mustBeJSIdent() argument
1286 return FormatTok->is(tok::identifier) && in mustBeJSIdent()
1287 (FormatTok->Tok.getIdentifierInfo() == nullptr || in mustBeJSIdent()
1288 !FormatTok->isOneOf( in mustBeJSIdent()
1299 const FormatToken *FormatTok) { in mustBeJSIdentOrValue() argument
1300 return FormatTok->Tok.isLiteral() || in mustBeJSIdentOrValue()
1301 FormatTok->isOneOf(tok::kw_true, tok::kw_false) || in mustBeJSIdentOrValue()
1302 mustBeJSIdent(Keywords, FormatTok); in mustBeJSIdentOrValue()
1308 const FormatToken *FormatTok) { in isJSDeclOrStmt() argument
1309 return FormatTok->isOneOf( in isJSDeclOrStmt()
1375 if (FormatTok->is(tok::colon)) { in parseModuleImport()
1376 FormatTok->setFinalizedType(TT_ModulePartitionColon); in parseModuleImport()
1379 else if (FormatTok->is(tok::less)) { in parseModuleImport()
1381 while (!FormatTok->isOneOf(tok::semi, tok::greater, tok::eof)) { in parseModuleImport()
1384 if (FormatTok->isNot(tok::comment) && in parseModuleImport()
1385 !FormatTok->TokenText.startswith("//")) { in parseModuleImport()
1386 FormatTok->setFinalizedType(TT_ImplicitStringLiteral); in parseModuleImport()
1391 if (FormatTok->is(tok::semi)) { in parseModuleImport()
1409 FormatToken *Previous = FormatTok; in readTokenWithJavaScriptASI()
1411 FormatToken *Next = FormatTok; in readTokenWithJavaScriptASI()
1453 FormatTok->is(tok::pp_include)) { in parseStructuralElement()
1455 if (FormatTok->is(tok::string_literal)) in parseStructuralElement()
1460 switch (FormatTok->Tok.getKind()) { in parseStructuralElement()
1463 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1464 FormatTok->setFinalizedType(TT_InlineASMBrace); in parseStructuralElement()
1466 while (FormatTok && FormatTok->isNot(tok::eof)) { in parseStructuralElement()
1467 if (FormatTok->is(tok::r_brace)) { in parseStructuralElement()
1468 FormatTok->setFinalizedType(TT_InlineASMBrace); in parseStructuralElement()
1473 FormatTok->Finalized = true; in parseStructuralElement()
1531 if (FormatTok->is(tok::colon)) { in parseStructuralElement()
1555 if (FormatTok->is(tok::string_literal)) { in parseStructuralElement()
1557 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1586 if (FormatTok->is(tok::kw_namespace)) { in parseStructuralElement()
1592 if (FormatTok->is(TT_ForEachMacro)) { in parseStructuralElement()
1596 if (FormatTok->is(TT_MacroBlockBegin)) { in parseStructuralElement()
1601 if (FormatTok->is(Keywords.kw_import)) { in parseStructuralElement()
1608 if (FormatTok->is(tok::kw_public)) in parseStructuralElement()
1610 if (!FormatTok->is(tok::string_literal)) in parseStructuralElement()
1613 if (FormatTok->is(tok::semi)) in parseStructuralElement()
1624 FormatTok->isOneOf(Keywords.kw_signals, Keywords.kw_qsignals, in parseStructuralElement()
1627 if (FormatTok->is(tok::colon)) { in parseStructuralElement()
1633 if (Style.isCpp() && FormatTok->is(TT_StatementMacro)) { in parseStructuralElement()
1637 if (Style.isCpp() && FormatTok->is(TT_NamespaceMacro)) { in parseStructuralElement()
1647 const FormatToken *Previous = FormatTok->Previous; in parseStructuralElement()
1648 switch (FormatTok->Tok.getKind()) { in parseStructuralElement()
1651 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1656 FormatTok->is(Keywords.kw_interface)) { in parseStructuralElement()
1660 switch (FormatTok->Tok.getObjCKeywordID()) { in parseStructuralElement()
1682 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1693 if (FormatTok->is(tok::l_paren)) { in parseStructuralElement()
1697 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1747 if (FormatTok->isOneOf(Keywords.kw_NS_ENUM, Keywords.kw_NS_OPTIONS, in parseStructuralElement()
1763 if (Style.Language == FormatStyle::LK_Java && FormatTok && in parseStructuralElement()
1764 FormatTok->is(tok::kw_class)) { in parseStructuralElement()
1767 if (Style.isJavaScript() && FormatTok && in parseStructuralElement()
1768 FormatTok->Tok.getIdentifierInfo()) { in parseStructuralElement()
1785 if (!IsTopLevel || !Style.isCpp() || !Previous || FormatTok->is(tok::eof)) in parseStructuralElement()
1787 if (isC78ParameterDecl(FormatTok, Tokens->peekNextToken(), Previous)) { in parseStructuralElement()
1795 if (FormatTok->isBinaryOperator()) in parseStructuralElement()
1800 if (FormatTok->Tok.isAnyIdentifier() || in parseStructuralElement()
1801 FormatTok->isSimpleTypeSpecifier()) { in parseStructuralElement()
1804 if (FormatTok->is(tok::l_paren)) in parseStructuralElement()
1806 if (FormatTok->is(tok::l_brace)) in parseStructuralElement()
1811 FormatTok->setFinalizedType(NextLBracesType); in parseStructuralElement()
1829 FormatTok->setFinalizedType(TT_FunctionLBrace); in parseStructuralElement()
1849 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where) && in parseStructuralElement()
1855 if (FormatTok->is(TT_MacroBlockEnd)) { in parseStructuralElement()
1865 if (Style.isJavaScript() && FormatTok->is(Keywords.kw_function) && in parseStructuralElement()
1872 FormatTok->is(Keywords.kw_interface)) { in parseStructuralElement()
1880 FormatTok = Tokens->setPosition(StoredPosition); in parseStructuralElement()
1891 if (FormatTok->is(Keywords.kw_interface)) { in parseStructuralElement()
1897 if (Style.isCpp() && FormatTok->is(TT_StatementMacro)) { in parseStructuralElement()
1903 StringRef Text = FormatTok->TokenText; in parseStructuralElement()
1905 FormatToken *PreviousToken = FormatTok; in parseStructuralElement()
1922 if (FormatTok->is(tok::colon) && !Line->MustBeDeclaration) { in parseStructuralElement()
1931 bool FunctionLike = FormatTok->is(tok::l_paren); in parseStructuralElement()
1937 ? FormatTok->NewlinesBefore > 0 in parseStructuralElement()
1941 tokenCanStartNewLine(*FormatTok) && Text == Text.upper()) { in parseStructuralElement()
1951 FormatTok->is(TT_FatArrow)) { in parseStructuralElement()
1957 if (FormatTok->is(tok::l_brace)) { in parseStructuralElement()
1962 FormatTok->setBlockKind(BK_BracedInit); in parseStructuralElement()
1966 FormatTok->is(tok::less)) { in parseStructuralElement()
1994 assert(FormatTok->is(tok::l_brace)); in tryToParsePropertyAccessor()
1998 if (FormatTok->Previous->isNot(tok::identifier)) in tryToParsePropertyAccessor()
2040 switch (FormatTok->Tok.getKind()) { in tryToParsePropertyAccessor()
2043 if (FormatTok->is(tok::equal)) { in tryToParsePropertyAccessor()
2044 while (!eof() && FormatTok->isNot(tok::semi)) in tryToParsePropertyAccessor()
2057 if (FormatTok->is(TT_FatArrow)) { in tryToParsePropertyAccessor()
2061 } while (!eof() && FormatTok->isNot(tok::semi)); in tryToParsePropertyAccessor()
2070 if (FormatTok->isOneOf(Keywords.kw_get, Keywords.kw_init, in tryToParsePropertyAccessor()
2085 assert(FormatTok->is(tok::l_square)); in tryToParseLambda()
2090 FormatToken &LSquare = *FormatTok; in tryToParseLambda()
2097 while (FormatTok->isNot(tok::l_brace)) { in tryToParseLambda()
2098 if (FormatTok->isSimpleTypeSpecifier()) { in tryToParseLambda()
2102 switch (FormatTok->Tok.getKind()) { in tryToParseLambda()
2114 assert(FormatTok->Previous); in tryToParseLambda()
2115 if (FormatTok->Previous->is(tok::less)) in tryToParseLambda()
2176 FormatTok->setFinalizedType(TT_LambdaArrow); in tryToParseLambda()
2184 FormatTok->setFinalizedType(TT_LambdaLBrace); in tryToParseLambda()
2191 const FormatToken *Previous = FormatTok->Previous; in tryToParseLambdaIntroducer()
2192 const FormatToken *LeftSquare = FormatTok; in tryToParseLambdaIntroducer()
2201 if (FormatTok->is(tok::l_square)) in tryToParseLambdaIntroducer()
2203 if (FormatTok->is(tok::r_square)) { in tryToParseLambdaIntroducer()
2213 assert(FormatTok->is(Keywords.kw_function) || in tryToParseJSFunction()
2214 FormatTok->startsSequence(Keywords.kw_async, Keywords.kw_function)); in tryToParseJSFunction()
2215 if (FormatTok->is(Keywords.kw_async)) in tryToParseJSFunction()
2221 if (FormatTok->is(tok::star)) { in tryToParseJSFunction()
2222 FormatTok->setFinalizedType(TT_OverloadedOperator); in tryToParseJSFunction()
2227 if (FormatTok->is(tok::identifier)) in tryToParseJSFunction()
2230 if (FormatTok->isNot(tok::l_paren)) in tryToParseJSFunction()
2236 if (FormatTok->is(tok::colon)) { in tryToParseJSFunction()
2242 if (FormatTok->is(tok::l_brace)) in tryToParseJSFunction()
2245 while (!FormatTok->isOneOf(tok::l_brace, tok::semi) && !eof()) in tryToParseJSFunction()
2249 if (FormatTok->is(tok::semi)) in tryToParseJSFunction()
2256 if (FormatTok->is(BK_Unknown)) in tryToParseBracedList()
2258 assert(FormatTok->isNot(BK_Unknown)); in tryToParseBracedList()
2259 if (FormatTok->is(BK_Block)) in tryToParseBracedList()
2268 assert(FormatTok->is(TT_FatArrow)); in tryToParseChildBlock()
2273 if (FormatTok->isNot(tok::l_brace)) in tryToParseChildBlock()
2287 if (Style.isCSharp() && FormatTok->is(TT_FatArrow) && in parseBracedList()
2292 if (FormatTok->is(Keywords.kw_function) || in parseBracedList()
2293 FormatTok->startsSequence(Keywords.kw_async, Keywords.kw_function)) { in parseBracedList()
2297 if (FormatTok->is(tok::l_brace)) { in parseBracedList()
2304 if (FormatTok->Tok.getKind() == ClosingBraceKind) { in parseBracedList()
2310 switch (FormatTok->Tok.getKind()) { in parseBracedList()
2322 if (FormatTok->is(tok::l_brace)) in parseBracedList()
2330 FormatTok->setBlockKind(BK_BracedInit); in parseBracedList()
2375 assert(FormatTok->is(tok::l_paren) && "'(' expected."); in parseParens()
2378 switch (FormatTok->Tok.getKind()) { in parseParens()
2381 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_brace)) in parseParens()
2399 if (FormatTok->is(tok::l_brace)) { in parseParens()
2405 if (Style.isCSharp() && FormatTok->is(TT_FatArrow)) in parseParens()
2418 (FormatTok->is(Keywords.kw_function) || in parseParens()
2419 FormatTok->startsSequence(Keywords.kw_async, in parseParens()
2427 auto RequiresToken = FormatTok; in parseParens()
2434 FormatTok->setFinalizedType(AmpAmpTokenType); in parseParens()
2445 assert(FormatTok->is(tok::l_square) && "'[' expected."); in parseSquare()
2450 switch (FormatTok->Tok.getKind()) { in parseSquare()
2470 if (FormatTok->is(tok::l_brace)) { in parseSquare()
2533 if (CheckEOF && FormatTok->is(tok::eof)) in parseUnbracedBody()
2561 if (FormatTok->is(TT_AttributeMacro)) in handleAttributes()
2568 if (FormatTok->is(tok::l_square) && tryToParseSimpleAttribute()) { in handleCppAttributes()
2577 assert(FormatTok->is(tok::kw_if) && "'if' expected"); in parseIfThenElse()
2579 if (FormatTok->is(tok::exclaim)) in parseIfThenElse()
2583 if (FormatTok->is(tok::kw_consteval)) { in parseIfThenElse()
2587 if (FormatTok->isOneOf(tok::kw_constexpr, tok::identifier)) in parseIfThenElse()
2589 if (FormatTok->is(tok::l_paren)) in parseIfThenElse()
2600 if (Keywords.isBlockBegin(*FormatTok, Style)) { in parseIfThenElse()
2601 FormatTok->setFinalizedType(TT_ControlStatementLBrace); in parseIfThenElse()
2602 IfLeftBrace = FormatTok; in parseIfThenElse()
2626 if (FormatTok->is(tok::kw_else)) { in parseIfThenElse()
2633 if (Keywords.isBlockBegin(*FormatTok, Style)) { in parseIfThenElse()
2635 FormatTok->setFinalizedType(TT_ElseLBrace); in parseIfThenElse()
2636 ElseLeftBrace = FormatTok; in parseIfThenElse()
2642 if (FormatTok->is(tok::kw_else)) { in parseIfThenElse()
2652 } else if (FormatTok->is(tok::kw_if)) { in parseIfThenElse()
2710 assert(FormatTok->isOneOf(tok::kw_try, tok::kw___try) && "'try' expected"); in parseTryCatch()
2713 if (FormatTok->is(tok::colon)) { in parseTryCatch()
2719 while (FormatTok->is(tok::comma)) in parseTryCatch()
2722 while (FormatTok->is(tok::identifier)) { in parseTryCatch()
2724 if (FormatTok->is(tok::l_paren)) in parseTryCatch()
2726 if (FormatTok->Previous && FormatTok->Previous->is(tok::identifier) && in parseTryCatch()
2727 FormatTok->is(tok::l_brace)) { in parseTryCatch()
2730 } while (!FormatTok->is(tok::r_brace)); in parseTryCatch()
2736 while (FormatTok->is(tok::comma)) in parseTryCatch()
2741 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_paren)) in parseTryCatch()
2746 if (FormatTok->is(tok::l_brace)) { in parseTryCatch()
2753 } else if (!FormatTok->is(tok::kw_catch)) { in parseTryCatch()
2763 if (FormatTok->is(tok::at)) in parseTryCatch()
2765 if (!(FormatTok->isOneOf(tok::kw_catch, Keywords.kw___except, in parseTryCatch()
2768 FormatTok->is(Keywords.kw_finally)) || in parseTryCatch()
2769 (FormatTok->isObjCAtKeyword(tok::objc_catch) || in parseTryCatch()
2770 FormatTok->isObjCAtKeyword(tok::objc_finally)))) { in parseTryCatch()
2774 while (FormatTok->isNot(tok::l_brace)) { in parseTryCatch()
2775 if (FormatTok->is(tok::l_paren)) { in parseTryCatch()
2779 if (FormatTok->isOneOf(tok::semi, tok::r_brace, tok::eof)) { in parseTryCatch()
2804 assert(FormatTok->isOneOf(tok::kw_namespace, TT_NamespaceMacro) && in parseNamespace()
2807 const FormatToken &InitialToken = *FormatTok; in parseNamespace()
2812 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::kw_inline, in parseNamespace()
2814 (Style.isCSharp() && FormatTok->is(tok::kw_union))) { in parseNamespace()
2815 if (FormatTok->is(tok::l_square)) in parseNamespace()
2817 else if (FormatTok->is(tok::l_paren)) in parseNamespace()
2823 if (FormatTok->is(tok::l_brace)) { in parseNamespace()
2848 if (FormatTok->is(tok::semi)) in parseNamespace()
2860 assert(FormatTok->is(tok::kw_new) && "'new' expected"); in parseNew()
2865 if (FormatTok->is(tok::l_brace)) in parseNew()
2868 if (FormatTok->isOneOf(tok::semi, tok::comma)) in parseNew()
2881 if (FormatTok->isOneOf(tok::semi, tok::l_brace, tok::r_brace)) in parseNew()
2885 if (FormatTok->is(tok::l_paren)) { in parseNew()
2889 if (FormatTok->is(tok::l_brace)) in parseNew()
2900 if (Keywords.isBlockBegin(*FormatTok, Style)) { in parseLoopBody()
2902 FormatTok->setFinalizedType(TT_ControlStatementLBrace); in parseLoopBody()
2903 FormatToken *LeftBrace = FormatTok; in parseLoopBody()
2923 assert(FormatTok->isOneOf(tok::kw_for, tok::kw_while, TT_ForEachMacro) && in parseForOrWhileLoop()
2926 !FormatTok->isOneOf(tok::kw_for, tok::kw_while); in parseForOrWhileLoop()
2930 if (Style.isJavaScript() && FormatTok->is(Keywords.kw_await)) in parseForOrWhileLoop()
2932 if (Style.isCpp() && FormatTok->is(tok::kw_co_await)) in parseForOrWhileLoop()
2934 if (FormatTok->is(tok::l_paren)) in parseForOrWhileLoop()
2942 assert(FormatTok->is(tok::kw_do) && "'do' expected"); in parseDoWhile()
2948 if (!FormatTok->is(tok::kw_while)) { in parseDoWhile()
2971 FormatTok->is(tok::l_brace)) { in parseLabel()
2977 if (FormatTok->is(tok::kw_break)) { in parseLabel()
2990 if (FormatTok->is(tok::semi)) in parseLabel()
2995 if (FormatTok->isNot(tok::l_brace)) { in parseLabel()
3002 assert(FormatTok->is(tok::kw_case) && "'case' expected"); in parseCaseLabel()
3007 } while (!eof() && !FormatTok->is(tok::colon)); in parseCaseLabel()
3012 assert(FormatTok->is(tok::kw_switch) && "'switch' expected"); in parseSwitch()
3014 if (FormatTok->is(tok::l_paren)) in parseSwitch()
3019 if (FormatTok->is(tok::l_brace)) { in parseSwitch()
3086 FormatToken *AccessSpecifierCandidate = FormatTok; in parseAccessSpecifier()
3089 if (FormatTok->isOneOf(Keywords.kw_slots, Keywords.kw_qslots)) in parseAccessSpecifier()
3092 if (FormatTok->is(tok::colon)) { in parseAccessSpecifier()
3095 } else if (!FormatTok->is(tok::coloncolon) && in parseAccessSpecifier()
3096 !isCOperatorFollowingVar(FormatTok->Tok.getKind())) { in parseAccessSpecifier()
3111 assert(FormatTok->is(tok::kw_concept) && "'concept' expected"); in parseConcept()
3113 if (!FormatTok->is(tok::identifier)) in parseConcept()
3116 if (!FormatTok->is(tok::equal)) in parseConcept()
3120 if (FormatTok->is(tok::semi)) in parseConcept()
3129 assert(FormatTok->is(tok::kw_requires) && "'requires' expected"); in parseRequires()
3130 auto RequiresToken = FormatTok; in parseRequires()
3136 switch (FormatTok->Tok.getKind()) { in parseRequires()
3272 assert(FormatTok->getPreviousNonComment() == RequiresToken); in parseRequiresClause()
3289 FormatTok->Previous->ClosesRequiresClause = true; in parseRequiresClause()
3300 assert(FormatTok->getPreviousNonComment() == RequiresToken); in parseRequiresExpression()
3305 if (FormatTok->is(tok::l_paren)) { in parseRequiresExpression()
3306 FormatTok->setFinalizedType(TT_RequiresExpressionLParen); in parseRequiresExpression()
3310 if (FormatTok->is(tok::l_brace)) { in parseRequiresExpression()
3311 FormatTok->setFinalizedType(TT_RequiresExpressionLBrace); in parseRequiresExpression()
3333 switch (FormatTok->Tok.getKind()) { in parseConstraintExpression()
3335 auto RequiresToken = FormatTok; in parseConstraintExpression()
3363 FormatTok->setFinalizedType(TT_BinaryOperator); in parseConstraintExpression()
3407 if (!FormatTok->is(tok::less)) in parseConstraintExpression()
3421 if (FormatTok->isNot(tok::l_paren)) in parseConstraintExpression()
3427 if (!FormatTok->Tok.getIdentifierInfo()) { in parseConstraintExpression()
3437 assert(FormatTok->Previous); in parseConstraintExpression()
3438 switch (FormatTok->Previous->Tok.getKind()) { in parseConstraintExpression()
3451 if (FormatTok->is(tok::less)) { in parseConstraintExpression()
3462 const FormatToken &InitialToken = *FormatTok; in parseEnum()
3465 if (FormatTok->is(tok::kw_enum)) in parseEnum()
3471 if (Style.isJavaScript() && FormatTok->isOneOf(tok::colon, tok::question)) in parseEnum()
3475 if (Style.Language == FormatStyle::LK_Proto && FormatTok->is(tok::equal)) in parseEnum()
3479 if (FormatTok->isOneOf(tok::kw_class, tok::kw_struct)) in parseEnum()
3482 while (FormatTok->Tok.getIdentifierInfo() || in parseEnum()
3483 FormatTok->isOneOf(tok::colon, tok::coloncolon, tok::less, in parseEnum()
3488 if (FormatTok->is(tok::l_paren)) in parseEnum()
3490 if (FormatTok->is(TT_AttributeSquare)) { in parseEnum()
3493 if (FormatTok->Next && FormatTok->is(TT_AttributeSquare)) in parseEnum()
3496 if (FormatTok->is(tok::identifier)) { in parseEnum()
3500 if (Style.isCpp() && FormatTok->is(tok::identifier)) in parseEnum()
3506 if (FormatTok->isNot(tok::l_brace)) in parseEnum()
3508 FormatTok->setFinalizedType(TT_EnumLBrace); in parseEnum()
3509 FormatTok->setBlockKind(BK_Block); in parseEnum()
3536 if (FormatTok->is(tok::semi)) in parseEnum()
3554 if (FormatTok->is(tok::semi)) in parseStructLike()
3606 assert(FormatTok->is(tok::l_brace)); in parseJavaEnumBody()
3607 const FormatToken *OpeningBrace = FormatTok; in parseJavaEnumBody()
3626 FormatTok = Tokens->setPosition(StoredPosition); in parseJavaEnumBody()
3642 while (FormatTok->isNot(tok::eof)) { in parseJavaEnumBody()
3643 if (FormatTok->is(tok::l_brace)) { in parseJavaEnumBody()
3647 } else if (FormatTok->is(tok::l_paren)) { in parseJavaEnumBody()
3649 } else if (FormatTok->is(tok::comma)) { in parseJavaEnumBody()
3652 } else if (FormatTok->is(tok::semi)) { in parseJavaEnumBody()
3656 } else if (FormatTok->is(tok::r_brace)) { in parseJavaEnumBody()
3672 const FormatToken &InitialToken = *FormatTok; in parseRecord()
3678 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::hashhash, in parseRecord()
3682 FormatTok->isOneOf(tok::period, tok::comma))) { in parseRecord()
3684 FormatTok->isOneOf(Keywords.kw_extends, Keywords.kw_implements)) { in parseRecord()
3689 if (FormatTok->is(tok::l_brace)) { in parseRecord()
3695 FormatTok->is(tok::identifier) && in parseRecord()
3696 FormatTok->TokenText != FormatTok->TokenText.upper(); in parseRecord()
3700 if (FormatTok->is(tok::l_paren)) { in parseRecord()
3702 } else if (FormatTok->is(TT_AttributeSquare)) { in parseRecord()
3705 if (FormatTok->Next && FormatTok->is(TT_AttributeSquare)) in parseRecord()
3721 if (FormatTok->isOneOf(tok::colon, tok::less)) { in parseRecord()
3723 if (FormatTok->is(tok::l_brace)) { in parseRecord()
3728 if (FormatTok->is(tok::l_square)) { in parseRecord()
3729 FormatToken *Previous = FormatTok->Previous; in parseRecord()
3741 if (FormatTok->is(tok::semi)) in parseRecord()
3743 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where)) { in parseRecord()
3766 if (FormatTok->is(tok::l_brace)) { in parseRecord()
3767 FormatTok->setFinalizedType(GetBraceType(InitialToken)); in parseRecord()
3784 assert(FormatTok->isOneOf(tok::l_paren, tok::identifier) && in parseObjCMethod()
3787 if (FormatTok->is(tok::semi)) { in parseObjCMethod()
3791 } else if (FormatTok->is(tok::l_brace)) { in parseObjCMethod()
3804 assert(FormatTok->is(tok::less) && "'<' expected."); in parseObjCProtocolList()
3808 if (FormatTok->isOneOf(tok::semi, tok::l_brace) || in parseObjCProtocolList()
3809 FormatTok->isObjCAtKeyword(tok::objc_end)) { in parseObjCProtocolList()
3812 } while (!eof() && FormatTok->isNot(tok::greater)); in parseObjCProtocolList()
3818 if (FormatTok->isObjCAtKeyword(tok::objc_end)) { in parseObjCUntilAtEnd()
3823 if (FormatTok->is(tok::l_brace)) { in parseObjCUntilAtEnd()
3827 } else if (FormatTok->is(tok::r_brace)) { in parseObjCUntilAtEnd()
3831 } else if (FormatTok->isOneOf(tok::minus, tok::plus)) { in parseObjCUntilAtEnd()
3841 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_interface || in parseObjCInterfaceOrImplementation()
3842 FormatTok->Tok.getObjCKeywordID() == tok::objc_implementation); in parseObjCInterfaceOrImplementation()
3848 if (FormatTok->is(tok::less)) in parseObjCInterfaceOrImplementation()
3850 if (FormatTok->is(tok::colon)) { in parseObjCInterfaceOrImplementation()
3854 if (FormatTok->is(tok::less)) in parseObjCInterfaceOrImplementation()
3856 } else if (FormatTok->is(tok::l_paren)) { in parseObjCInterfaceOrImplementation()
3861 if (FormatTok->is(tok::less)) in parseObjCInterfaceOrImplementation()
3864 if (FormatTok->is(tok::l_brace)) { in parseObjCInterfaceOrImplementation()
3878 assert(FormatTok->is(tok::less)); in parseObjCLightweightGenerics()
3890 if (FormatTok->isOneOf(tok::semi, tok::l_brace) || in parseObjCLightweightGenerics()
3891 FormatTok->isObjCAtKeyword(tok::objc_end)) { in parseObjCLightweightGenerics()
3894 if (FormatTok->is(tok::less)) { in parseObjCLightweightGenerics()
3896 } else if (FormatTok->is(tok::greater)) { in parseObjCLightweightGenerics()
3907 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_protocol); in parseObjCProtocol()
3910 if (FormatTok->is(tok::l_paren)) { in parseObjCProtocol()
3922 if (FormatTok->is(tok::less)) in parseObjCProtocol()
3926 if (FormatTok->is(tok::semi)) { in parseObjCProtocol()
3938 bool IsImport = FormatTok->is(Keywords.kw_import); in parseJavaScriptEs6ImportExport()
3939 assert(IsImport || FormatTok->is(tok::kw_export)); in parseJavaScriptEs6ImportExport()
3943 if (FormatTok->is(tok::kw_default)) in parseJavaScriptEs6ImportExport()
3949 if (FormatTok->is(Keywords.kw_async)) in parseJavaScriptEs6ImportExport()
3951 if (FormatTok->is(Keywords.kw_function)) { in parseJavaScriptEs6ImportExport()
3960 if (!IsImport && !FormatTok->isOneOf(tok::l_brace, tok::star) && in parseJavaScriptEs6ImportExport()
3961 !FormatTok->isStringLiteral()) { in parseJavaScriptEs6ImportExport()
3966 if (FormatTok->is(tok::semi)) in parseJavaScriptEs6ImportExport()
3973 if (FormatTok->is(tok::l_brace)) { in parseJavaScriptEs6ImportExport()
3974 FormatTok->setBlockKind(BK_Block); in parseJavaScriptEs6ImportExport()
3985 if (FormatTok->is(tok::l_paren)) in parseStatementMacro()
3987 if (FormatTok->is(tok::semi)) in parseStatementMacro()
4039 FormatTok->Previous = nullptr; in addUnwrappedLine()
4042 bool UnwrappedLineParser::eof() const { return FormatTok->is(tok::eof); } in eof()
4044 bool UnwrappedLineParser::isOnNewLine(const FormatToken &FormatTok) { in isOnNewLine() argument
4045 return (Line->InPPDirective || FormatTok.HasUnescapedNewline) && in isOnNewLine()
4046 FormatTok.NewlinesBefore > 0; in isOnNewLine()
4052 continuesLineCommentSection(const FormatToken &FormatTok, in continuesLineCommentSection() argument
4058 StringRef IndentContent = FormatTok.TokenText; in continuesLineCommentSection()
4059 if (FormatTok.TokenText.startswith("//") || in continuesLineCommentSection()
4060 FormatTok.TokenText.startswith("/*")) { in continuesLineCommentSection()
4061 IndentContent = FormatTok.TokenText.substr(2); in continuesLineCommentSection()
4152 return continuesLineComment(FormatTok, /*Previous=*/Line.Tokens.back().Tok, in continuesLineCommentSection()
4181 flushComments(isOnNewLine(*FormatTok)); in nextToken()
4182 pushToken(FormatTok); in nextToken()
4183 FormatToken *Previous = FormatTok; in nextToken()
4188 FormatTok->Previous = Previous; in nextToken()
4196 if (Keywords.isVerilogEnd(*FormatTok)) in nextToken()
4197 FormatTok->Tok.setKind(tok::r_brace); in nextToken()
4237 FormatToken *FormatTok = Comments[i]; in distributeComments() local
4239 FormatTok->ContinuesLineCommentSection = false; in distributeComments()
4241 FormatTok->ContinuesLineCommentSection = in distributeComments()
4242 continuesLineCommentSection(*FormatTok, *Line, CommentPragmasRegex); in distributeComments()
4244 if (!FormatTok->ContinuesLineCommentSection && in distributeComments()
4245 (isOnNewLine(*FormatTok) || FormatTok->IsFirst)) { in distributeComments()
4249 pushToken(FormatTok); in distributeComments()
4251 CommentsBeforeNextToken.push_back(FormatTok); in distributeComments()
4260 FormatTok = Tokens->getNextToken(); in readToken()
4261 assert(FormatTok); in readToken()
4262 while (FormatTok->getType() == TT_ConflictStart || in readToken()
4263 FormatTok->getType() == TT_ConflictEnd || in readToken()
4264 FormatTok->getType() == TT_ConflictAlternative) { in readToken()
4265 if (FormatTok->getType() == TT_ConflictStart) in readToken()
4267 else if (FormatTok->getType() == TT_ConflictAlternative) in readToken()
4269 else if (FormatTok->getType() == TT_ConflictEnd) in readToken()
4271 FormatTok = Tokens->getNextToken(); in readToken()
4272 FormatTok->MustBreakBefore = true; in readToken()
4290 FirstNonCommentOnLine, *FormatTok, PreviousWasComment); in readToken()
4291 PreviousWasComment = FormatTok->is(tok::comment); in readToken()
4293 while (!Line->InPPDirective && FormatTok->is(tok::hash) && in readToken()
4297 distributeComments(Comments, FormatTok); in readToken()
4314 flushComments(isOnNewLine(*FormatTok)); in readToken()
4316 PreviousWasComment = FormatTok->is(tok::comment); in readToken()
4318 FirstNonCommentOnLine, *FormatTok, PreviousWasComment); in readToken()
4326 if (!FormatTok->is(tok::comment)) { in readToken()
4327 distributeComments(Comments, FormatTok); in readToken()
4332 Comments.push_back(FormatTok); in readToken()