• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/Format/

Lines Matching refs:FormatTok

60 static bool isLineComment(const FormatToken &FormatTok) {
61 return FormatTok.is(tok::comment) && !FormatTok.TokenText.startswith("/*");
64 // Checks if \p FormatTok is a line comment that continues the line comment
66 // whether \p FormatTok is indented enough to the right to continue \p Previous.
67 static bool continuesLineComment(const FormatToken &FormatTok,
74 return isLineComment(FormatTok) && FormatTok.NewlinesBefore == 1 &&
76 FormatTok.OriginalColumn >= MinContinueColumn;
247 FormatTok = nullptr;
276 pushToken(FormatTok);
329 switch (FormatTok->Tok.getKind()) {
333 if (FormatTok->is(Keywords.kw_where)) {
348 switch (FormatTok->Tok.getKind()) {
371 tok::TokenKind kind = FormatTok->Tok.getKind();
372 if (FormatTok->getType() == TT_MacroBlockBegin) {
374 } else if (FormatTok->getType() == TT_MacroBlockEnd) {
386 if (!FormatTok->is(TT_MacroBlockBegin) && tryToParseBracedList())
403 FormatTok = Tokens->setPosition(StoredPosition);
446 FormatToken *Tok = FormatTok;
564 FormatTok = Tokens->setPosition(StoredPosition);
584 assert(FormatTok->isOneOf(tok::l_brace, TT_MacroBlockBegin) &&
586 const bool MacroBlock = FormatTok->is(TT_MacroBlockBegin);
587 FormatTok->BlockKind = BK_Block;
594 if (MacroBlock && FormatTok->is(tok::l_paren))
614 if (MacroBlock ? !FormatTok->is(TT_MacroBlockEnd)
615 : !FormatTok->is(tok::r_brace)) {
617 FormatTok->BlockKind = BK_Block;
626 if (MacroBlock && FormatTok->is(tok::l_paren))
629 if (MunchSemi && FormatTok->Tok.is(tok::semi))
693 FormatTok->BlockKind = BK_Block;
703 flushComments(isOnNewLine(*FormatTok));
710 assert(FormatTok->Tok.is(tok::hash) && "'#' expected");
711 ScopedMacroState MacroState(*Line, Tokens, FormatTok);
715 if (!FormatTok->Tok.getIdentifierInfo()) {
720 switch (FormatTok->Tok.getIdentifierInfo()->getPPKeywordID()) {
798 bool IfNDef = FormatTok->is(tok::pp_ifndef);
801 if (!IfDef && (FormatTok->is(tok::kw_false) || FormatTok->TokenText == "0"))
803 if (IfDef && !IfNDef && FormatTok->TokenText == "SWIG")
806 FormatToken *IfCondition = FormatTok;
856 if (!FormatTok->Tok.getIdentifierInfo()) {
864 IncludeGuardToken->TokenText == FormatTok->TokenText) {
876 if (FormatTok->Tok.getKind() == tok::l_paren &&
877 FormatTok->WhitespaceRange.getBegin() ==
878 FormatTok->WhitespaceRange.getEnd()) {
933 const FormatToken *FormatTok) {
935 return FormatTok->is(tok::identifier) &&
936 (FormatTok->Tok.getIdentifierInfo() == nullptr ||
937 !FormatTok->isOneOf(
948 const FormatToken *FormatTok) {
949 return FormatTok->Tok.isLiteral() ||
950 FormatTok->isOneOf(tok::kw_true, tok::kw_false) ||
951 mustBeJSIdent(Keywords, FormatTok);
954 // isJSDeclOrStmt returns true if |FormatTok| starts a declaration or statement
957 const FormatToken *FormatTok) {
958 return FormatTok->isOneOf(
983 FormatToken *Previous = FormatTok;
985 FormatToken *Next = FormatTok;
1023 assert(!FormatTok->is(tok::l_brace));
1025 FormatTok->is(tok::pp_include)) {
1027 if (FormatTok->is(tok::string_literal))
1032 switch (FormatTok->Tok.getKind()) {
1035 if (FormatTok->is(tok::l_brace)) {
1036 FormatTok->setType(TT_InlineASMBrace);
1038 while (FormatTok && FormatTok->isNot(tok::eof)) {
1039 if (FormatTok->is(tok::r_brace)) {
1040 FormatTok->setType(TT_InlineASMBrace);
1045 FormatTok->Finalized = true;
1092 if (FormatTok->is(tok::colon)) {
1113 if (FormatTok->Tok.is(tok::string_literal)) {
1115 if (FormatTok->Tok.is(tok::l_brace)) {
1143 if (FormatTok->Tok.is(tok::kw_namespace)) {
1149 if (FormatTok->is(TT_ForEachMacro)) {
1153 if (FormatTok->is(TT_MacroBlockBegin)) {
1158 if (FormatTok->is(Keywords.kw_import)) {
1165 if (FormatTok->is(tok::kw_public))
1167 if (!FormatTok->is(tok::string_literal))
1170 if (FormatTok->is(tok::semi))
1177 FormatTok->isOneOf(Keywords.kw_signals, Keywords.kw_qsignals,
1180 if (FormatTok->is(tok::colon)) {
1186 if (Style.isCpp() && FormatTok->is(TT_StatementMacro)) {
1190 if (Style.isCpp() && FormatTok->is(TT_NamespaceMacro)) {
1200 const FormatToken *Previous = FormatTok->Previous;
1201 switch (FormatTok->Tok.getKind()) {
1204 if (FormatTok->Tok.is(tok::l_brace)) {
1209 FormatTok->is(Keywords.kw_interface)) {
1213 switch (FormatTok->Tok.getObjCKeywordID()) {
1235 if (FormatTok->Tok.is(tok::l_brace)) {
1245 if (FormatTok->Tok.is(tok::l_paren))
1248 if (FormatTok->Tok.is(tok::l_brace)) {
1284 if (FormatTok->isOneOf(Keywords.kw_NS_ENUM, Keywords.kw_NS_OPTIONS,
1299 if (FormatTok->is(tok::semi))
1308 if (Style.Language == FormatStyle::LK_Java && FormatTok &&
1309 FormatTok->is(tok::kw_class))
1311 if (Style.Language == FormatStyle::LK_JavaScript && FormatTok &&
1312 FormatTok->Tok.getIdentifierInfo())
1329 if (FormatTok->isBinaryOperator())
1334 if (FormatTok->Tok.isAnyIdentifier() ||
1335 FormatTok->isSimpleTypeSpecifier())
1337 if (FormatTok->is(tok::l_paren))
1339 if (FormatTok->is(tok::l_brace))
1350 FormatTok->setType(TT_FunctionLBrace);
1371 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where) &&
1377 if (FormatTok->is(TT_MacroBlockEnd)) {
1388 FormatTok->is(Keywords.kw_function) &&
1396 FormatTok->is(Keywords.kw_interface)) {
1404 FormatTok = Tokens->setPosition(StoredPosition);
1415 if (Style.isCpp() && FormatTok->is(TT_StatementMacro)) {
1421 StringRef Text = FormatTok->TokenText;
1432 if (FormatTok->Tok.is(tok::colon) && !Line->MustBeDeclaration) {
1439 bool FunctionLike = FormatTok->is(tok::l_paren);
1445 ? FormatTok->NewlinesBefore > 0
1449 tokenCanStartNewLine(*FormatTok) && Text == Text.upper()) {
1460 if (FormatTok->is(TT_JsFatArrow)) {
1462 if (FormatTok->is(tok::l_brace)) {
1466 FormatTok->MustBreakBefore = true;
1474 if (FormatTok->Tok.is(tok::l_brace)) {
1479 FormatTok->BlockKind = BK_BracedInit;
1483 FormatTok->Tok.is(tok::less)) {
1503 assert(FormatTok->is(tok::l_brace));
1507 if (FormatTok->Previous->isNot(tok::identifier))
1549 switch (FormatTok->Tok.getKind()) {
1552 if (FormatTok->is(tok::equal)) {
1553 while (!eof() && FormatTok->isNot(tok::semi))
1566 if (FormatTok->is(TT_JsFatArrow)) {
1570 } while (!eof() && FormatTok->isNot(tok::semi));
1579 if (FormatTok->isOneOf(Keywords.kw_get, Keywords.kw_set) &&
1597 assert(FormatTok->is(tok::l_square));
1598 FormatToken &LSquare = *FormatTok;
1604 while (FormatTok->isNot(tok::l_brace)) {
1605 if (FormatTok->isSimpleTypeSpecifier()) {
1609 switch (FormatTok->Tok.getKind()) {
1674 FormatTok->setType(TT_LambdaArrow);
1682 FormatTok->setType(TT_LambdaLBrace);
1689 const FormatToken *Previous = FormatTok->Previous;
1693 FormatTok->isCppStructuredBinding(Style) || Previous->closesScope() ||
1699 if (FormatTok->is(tok::l_square)) {
1707 assert(FormatTok->is(Keywords.kw_function) ||
1708 FormatTok->startsSequence(Keywords.kw_async, Keywords.kw_function));
1709 if (FormatTok->is(Keywords.kw_async))
1715 if (FormatTok->is(tok::star)) {
1716 FormatTok->setType(TT_OverloadedOperator);
1721 if (FormatTok->is(tok::identifier))
1724 if (FormatTok->isNot(tok::l_paren))
1730 if (FormatTok->is(tok::colon)) {
1736 if (FormatTok->is(tok::l_brace))
1739 while (!FormatTok->isOneOf(tok::l_brace, tok::semi) && !eof())
1743 if (FormatTok->is(tok::semi))
1750 if (FormatTok->BlockKind == BK_Unknown)
1752 assert(FormatTok->BlockKind != BK_Unknown);
1753 if (FormatTok->BlockKind == BK_Block)
1769 if (FormatTok->is(TT_JsFatArrow)) {
1773 if (FormatTok->is(tok::l_brace)) {
1780 if (FormatTok->is(Keywords.kw_function) ||
1781 FormatTok->startsSequence(Keywords.kw_async, Keywords.kw_function)) {
1785 if (FormatTok->is(TT_JsFatArrow)) {
1789 if (FormatTok->is(tok::l_brace)) {
1794 if (FormatTok->is(tok::l_brace)) {
1801 if (FormatTok->Tok.getKind() == ClosingBraceKind) {
1807 switch (FormatTok->Tok.getKind()) {
1810 if (FormatTok->is(tok::l_brace)) {
1825 if (FormatTok->is(tok::l_brace))
1833 FormatTok->BlockKind = BK_BracedInit;
1874 assert(FormatTok->Tok.is(tok::l_paren) && "'(' expected.");
1877 switch (FormatTok->Tok.getKind()) {
1880 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_brace))
1898 if (FormatTok->Tok.is(tok::l_brace)) {
1911 (FormatTok->is(Keywords.kw_function) ||
1912 FormatTok->startsSequence(Keywords.kw_async, Keywords.kw_function)))
1926 assert(FormatTok->Tok.is(tok::l_square) && "'[' expected.");
1931 switch (FormatTok->Tok.getKind()) {
1951 if (FormatTok->Tok.is(tok::l_brace)) {
1964 assert(FormatTok->Tok.is(tok::kw_if) && "'if' expected");
1966 if (FormatTok->Tok.isOneOf(tok::kw_constexpr, tok::identifier))
1968 if (FormatTok->Tok.is(tok::l_paren))
1971 if (FormatTok->is(tok::l_square) && tryToParseSimpleAttribute())
1974 if (FormatTok->Tok.is(tok::l_brace)) {
1987 if (FormatTok->Tok.is(tok::kw_else)) {
1990 if (FormatTok->Tok.is(tok::l_square) && tryToParseSimpleAttribute())
1992 if (FormatTok->Tok.is(tok::l_brace)) {
1996 } else if (FormatTok->Tok.is(tok::kw_if)) {
2002 if (FormatTok->is(tok::eof))
2012 assert(FormatTok->isOneOf(tok::kw_try, tok::kw___try) && "'try' expected");
2015 if (FormatTok->is(tok::colon)) {
2021 while (FormatTok->is(tok::comma))
2024 while (FormatTok->is(tok::identifier)) {
2026 if (FormatTok->is(tok::l_paren))
2031 while (FormatTok->is(tok::comma))
2036 if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_paren)) {
2039 if (FormatTok->is(tok::l_brace)) {
2047 } else if (!FormatTok->is(tok::kw_catch)) {
2057 if (FormatTok->is(tok::at))
2059 if (!(FormatTok->isOneOf(tok::kw_catch, Keywords.kw___except,
2063 FormatTok->is(Keywords.kw_finally)) ||
2064 (FormatTok->Tok.isObjCAtKeyword(tok::objc_catch) ||
2065 FormatTok->Tok.isObjCAtKeyword(tok::objc_finally))))
2068 while (FormatTok->isNot(tok::l_brace)) {
2069 if (FormatTok->is(tok::l_paren)) {
2073 if (FormatTok->isOneOf(tok::semi, tok::r_brace, tok::eof))
2090 assert(FormatTok->isOneOf(tok::kw_namespace, TT_NamespaceMacro) &&
2093 const FormatToken &InitialToken = *FormatTok;
2098 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::kw_inline,
2100 if (FormatTok->is(tok::l_square))
2106 if (FormatTok->Tok.is(tok::l_brace)) {
2116 if (FormatTok->Tok.is(tok::semi))
2124 assert(FormatTok->is(tok::kw_new) && "'new' expected");
2129 if (FormatTok->is(tok::l_brace))
2132 if (FormatTok->isOneOf(tok::semi, tok::comma))
2145 if (FormatTok->isOneOf(tok::semi, tok::l_brace, tok::r_brace))
2149 if (FormatTok->is(tok::l_paren)) {
2153 if (FormatTok->is(tok::l_brace))
2162 assert(FormatTok->isOneOf(tok::kw_for, tok::kw_while, TT_ForEachMacro) &&
2167 FormatTok->is(Keywords.kw_await))
2169 if (FormatTok->Tok.is(tok::l_paren))
2171 if (FormatTok->Tok.is(tok::l_brace)) {
2184 assert(FormatTok->Tok.is(tok::kw_do) && "'do' expected");
2186 if (FormatTok->Tok.is(tok::l_brace)) {
2199 if (!FormatTok->Tok.is(tok::kw_while)) {
2216 FormatTok->Tok.is(tok::l_brace)) {
2221 if (FormatTok->Tok.is(tok::kw_break)) {
2234 if (FormatTok->is(tok::semi))
2239 if (FormatTok->isNot(tok::l_brace)) {
2246 assert(FormatTok->Tok.is(tok::kw_case) && "'case' expected");
2250 } while (!eof() && !FormatTok->Tok.is(tok::colon));
2255 assert(FormatTok->Tok.is(tok::kw_switch) && "'switch' expected");
2257 if (FormatTok->Tok.is(tok::l_paren))
2259 if (FormatTok->Tok.is(tok::l_brace)) {
2274 if (FormatTok->isOneOf(Keywords.kw_slots, Keywords.kw_qslots))
2277 if (FormatTok->Tok.is(tok::colon))
2284 if (FormatTok->Tok.is(tok::kw_enum))
2291 FormatTok->isOneOf(tok::colon, tok::question))
2295 if (Style.Language == FormatStyle::LK_Proto && FormatTok->is(tok::equal))
2299 if (FormatTok->Tok.is(tok::kw_class) || FormatTok->Tok.is(tok::kw_struct))
2302 while (FormatTok->Tok.getIdentifierInfo() ||
2303 FormatTok->isOneOf(tok::colon, tok::coloncolon, tok::less,
2307 if (FormatTok->is(tok::l_paren))
2309 if (FormatTok->is(tok::identifier)) {
2313 if (Style.isCpp() && FormatTok->is(tok::identifier))
2319 if (FormatTok->isNot(tok::l_brace))
2321 FormatTok->BlockKind = BK_Block;
2346 if (FormatTok->is(tok::semi))
2420 FormatTok = Tokens->setPosition(StoredPosition);
2436 while (FormatTok) {
2437 if (FormatTok->is(tok::l_brace)) {
2441 } else if (FormatTok->is(tok::l_paren)) {
2443 } else if (FormatTok->is(tok::comma)) {
2446 } else if (FormatTok->is(tok::semi)) {
2450 } else if (FormatTok->is(tok::r_brace)) {
2466 const FormatToken &InitialToken = *FormatTok;
2472 while (FormatTok->isOneOf(tok::identifier, tok::coloncolon, tok::hashhash,
2477 FormatTok->isOneOf(tok::period, tok::comma))) {
2479 FormatTok->isOneOf(Keywords.kw_extends, Keywords.kw_implements)) {
2484 if (FormatTok->is(tok::l_brace)) {
2490 FormatTok->is(tok::identifier) &&
2491 FormatTok->TokenText != FormatTok->TokenText.upper();
2495 if (FormatTok->Tok.is(tok::l_paren)) {
2497 } else if (FormatTok->is(TT_AttributeSquare)) {
2500 if (FormatTok->Next && FormatTok->is(TT_AttributeSquare))
2516 if (FormatTok->isOneOf(tok::colon, tok::less)) {
2518 if (FormatTok->is(tok::l_brace)) {
2523 if (FormatTok->Tok.is(tok::semi))
2525 if (Style.isCSharp() && FormatTok->is(Keywords.kw_where)) {
2534 if (FormatTok->Tok.is(tok::l_brace)) {
2551 assert(FormatTok->Tok.isOneOf(tok::l_paren, tok::identifier) &&
2554 if (FormatTok->Tok.is(tok::semi)) {
2558 } else if (FormatTok->Tok.is(tok::l_brace)) {
2571 assert(FormatTok->Tok.is(tok::less) && "'<' expected.");
2575 if (FormatTok->isOneOf(tok::semi, tok::l_brace) ||
2576 FormatTok->Tok.isObjCAtKeyword(tok::objc_end))
2578 } while (!eof() && FormatTok->Tok.isNot(tok::greater));
2584 if (FormatTok->Tok.isObjCAtKeyword(tok::objc_end)) {
2589 if (FormatTok->is(tok::l_brace)) {
2593 } else if (FormatTok->is(tok::r_brace)) {
2597 } else if (FormatTok->isOneOf(tok::minus, tok::plus)) {
2607 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_interface ||
2608 FormatTok->Tok.getObjCKeywordID() == tok::objc_implementation);
2614 if (FormatTok->Tok.is(tok::less)) {
2626 if (FormatTok->isOneOf(tok::semi, tok::l_brace) ||
2627 FormatTok->Tok.isObjCAtKeyword(tok::objc_end))
2629 if (FormatTok->Tok.is(tok::less))
2631 else if (FormatTok->Tok.is(tok::greater)) {
2638 if (FormatTok->Tok.is(tok::colon)) {
2641 } else if (FormatTok->Tok.is(tok::l_paren))
2645 if (FormatTok->Tok.is(tok::less))
2648 if (FormatTok->Tok.is(tok::l_brace)) {
2664 assert(FormatTok->Tok.getObjCKeywordID() == tok::objc_protocol);
2667 if (FormatTok->is(tok::l_paren))
2678 if (FormatTok->Tok.is(tok::less))
2682 if (FormatTok->Tok.is(tok::semi)) {
2694 bool IsImport = FormatTok->is(Keywords.kw_import);
2695 assert(IsImport || FormatTok->is(tok::kw_export));
2699 if (FormatTok->is(tok::kw_default))
2705 if (FormatTok->is(Keywords.kw_async))
2707 if (FormatTok->is(Keywords.kw_function)) {
2716 if (!IsImport && !FormatTok->isOneOf(tok::l_brace, tok::star) &&
2717 !FormatTok->isStringLiteral())
2721 if (FormatTok->is(tok::semi))
2728 if (FormatTok->is(tok::l_brace)) {
2729 FormatTok->BlockKind = BK_Block;
2740 if (FormatTok->is(tok::l_paren))
2742 if (FormatTok->is(tok::semi))
2791 FormatTok->Previous = nullptr;
2794 bool UnwrappedLineParser::eof() const { return FormatTok->Tok.is(tok::eof); }
2796 bool UnwrappedLineParser::isOnNewLine(const FormatToken &FormatTok) {
2797 return (Line->InPPDirective || FormatTok.HasUnescapedNewline) &&
2798 FormatTok.NewlinesBefore > 0;
2801 // Checks if \p FormatTok is a line comment that continues the line comment
2804 continuesLineCommentSection(const FormatToken &FormatTok,
2810 StringRef IndentContent = FormatTok.TokenText;
2811 if (FormatTok.TokenText.startswith("//") ||
2812 FormatTok.TokenText.startswith("/*"))
2813 IndentContent = FormatTok.TokenText.substr(2);
2817 // If Line starts with a line comment, then FormatTok continues the comment
2826 // If Line starts with a token other than a line comment, then FormatTok
2905 return continuesLineComment(FormatTok, /*Previous=*/Line.Tokens.back().Tok,
2937 flushComments(isOnNewLine(*FormatTok));
2938 pushToken(FormatTok);
2939 FormatToken *Previous = FormatTok;
2944 FormatTok->Previous = Previous;
2983 FormatToken *FormatTok = Comments[i];
2985 FormatTok->ContinuesLineCommentSection = false;
2987 FormatTok->ContinuesLineCommentSection =
2988 continuesLineCommentSection(*FormatTok, *Line, CommentPragmasRegex);
2990 if (!FormatTok->ContinuesLineCommentSection &&
2991 (isOnNewLine(*FormatTok) || FormatTok->IsFirst)) {
2995 pushToken(FormatTok);
2997 CommentsBeforeNextToken.push_back(FormatTok);
3005 FormatTok = Tokens->getNextToken();
3006 assert(FormatTok);
3007 while (!Line->InPPDirective && FormatTok->Tok.is(tok::hash) &&
3008 (FormatTok->HasUnescapedNewline || FormatTok->IsFirst)) {
3009 distributeComments(Comments, FormatTok);
3025 flushComments(isOnNewLine(*FormatTok));
3028 while (FormatTok->getType() == TT_ConflictStart ||
3029 FormatTok->getType() == TT_ConflictEnd ||
3030 FormatTok->getType() == TT_ConflictAlternative) {
3031 if (FormatTok->getType() == TT_ConflictStart) {
3033 } else if (FormatTok->getType() == TT_ConflictAlternative) {
3035 } else if (FormatTok->getType() == TT_ConflictEnd) {
3038 FormatTok = Tokens->getNextToken();
3039 FormatTok->MustBreakBefore = true;
3047 if (!FormatTok->Tok.is(tok::comment)) {
3048 distributeComments(Comments, FormatTok);
3053 Comments.push_back(FormatTok);