Skip to content

Commit 07d14cb

Browse files
authored
[clang-format][NFC] Remove the parameter of parseRequires...() (llvm#169773)
1 parent 8f36135 commit 07d14cb

File tree

2 files changed

+36
-55
lines changed

2 files changed

+36
-55
lines changed

clang/lib/Format/UnwrappedLineParser.cpp

Lines changed: 34 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2363,12 +2363,9 @@ bool UnwrappedLineParser::tryToParseLambda() {
23632363
Arrow = FormatTok;
23642364
nextToken();
23652365
break;
2366-
case tok::kw_requires: {
2367-
auto *RequiresToken = FormatTok;
2368-
nextToken();
2369-
parseRequiresClause(RequiresToken);
2366+
case tok::kw_requires:
2367+
parseRequiresClause();
23702368
break;
2371-
}
23722369
case tok::equal:
23732370
if (!InTemplateParameterList)
23742371
return true;
@@ -2580,12 +2577,9 @@ bool UnwrappedLineParser::parseBracedList(bool IsAngleBracket, bool IsEnum) {
25802577
if (IsEnum && !Style.AllowShortEnumsOnASingleLine)
25812578
addUnwrappedLine();
25822579
break;
2583-
case tok::kw_requires: {
2584-
auto *RequiresToken = FormatTok;
2585-
nextToken();
2586-
parseRequiresExpression(RequiresToken);
2580+
case tok::kw_requires:
2581+
parseRequiresExpression();
25872582
break;
2588-
}
25892583
default:
25902584
nextToken();
25912585
break;
@@ -2727,12 +2721,9 @@ bool UnwrappedLineParser::parseParens(TokenType AmpAmpTokenType,
27272721
else
27282722
nextToken();
27292723
break;
2730-
case tok::kw_requires: {
2731-
auto RequiresToken = FormatTok;
2732-
nextToken();
2733-
parseRequiresExpression(RequiresToken);
2724+
case tok::kw_requires:
2725+
parseRequiresExpression();
27342726
break;
2735-
}
27362727
case tok::ampamp:
27372728
if (AmpAmpTokenType != TT_Unknown)
27382729
FormatTok->setFinalizedType(AmpAmpTokenType);
@@ -3467,23 +3458,20 @@ void UnwrappedLineParser::parseAccessSpecifier() {
34673458
/// \returns true if it parsed a clause.
34683459
bool UnwrappedLineParser::parseRequires(bool SeenEqual) {
34693460
assert(FormatTok->is(tok::kw_requires) && "'requires' expected");
3470-
auto RequiresToken = FormatTok;
34713461

34723462
// We try to guess if it is a requires clause, or a requires expression. For
3473-
// that we first consume the keyword and check the next token.
3474-
nextToken();
3475-
3476-
switch (FormatTok->Tok.getKind()) {
3463+
// that we first check the next token.
3464+
switch (Tokens->peekNextToken(/*SkipComment=*/true)->Tok.getKind()) {
34773465
case tok::l_brace:
34783466
// This can only be an expression, never a clause.
3479-
parseRequiresExpression(RequiresToken);
3467+
parseRequiresExpression();
34803468
return false;
34813469
case tok::l_paren:
34823470
// Clauses and expression can start with a paren, it's unclear what we have.
34833471
break;
34843472
default:
34853473
// All other tokens can only be a clause.
3486-
parseRequiresClause(RequiresToken);
3474+
parseRequiresClause();
34873475
return true;
34883476
}
34893477

@@ -3494,13 +3482,13 @@ bool UnwrappedLineParser::parseRequires(bool SeenEqual) {
34943482
// requires (C<T> && ...
34953483

34963484
// But first let's look behind.
3497-
auto *PreviousNonComment = RequiresToken->getPreviousNonComment();
3485+
auto *PreviousNonComment = FormatTok->getPreviousNonComment();
34983486

34993487
if (!PreviousNonComment ||
35003488
PreviousNonComment->is(TT_RequiresExpressionLBrace)) {
35013489
// If there is no token, or an expression left brace, we are a requires
35023490
// clause within a requires expression.
3503-
parseRequiresClause(RequiresToken);
3491+
parseRequiresClause();
35043492
return true;
35053493
}
35063494

@@ -3512,7 +3500,7 @@ bool UnwrappedLineParser::parseRequires(bool SeenEqual) {
35123500
case tok::star:
35133501
case tok::amp:
35143502
// This is a requires clause.
3515-
parseRequiresClause(RequiresToken);
3503+
parseRequiresClause();
35163504
return true;
35173505
case tok::ampamp: {
35183506
// This can be either:
@@ -3523,19 +3511,19 @@ bool UnwrappedLineParser::parseRequires(bool SeenEqual) {
35233511
// void member(...) const && requires (C<T> ...
35243512
auto PrevPrev = PreviousNonComment->getPreviousNonComment();
35253513
if ((PrevPrev && PrevPrev->is(tok::kw_const)) || !SeenEqual) {
3526-
parseRequiresClause(RequiresToken);
3514+
parseRequiresClause();
35273515
return true;
35283516
}
35293517
break;
35303518
}
35313519
default:
35323520
if (PreviousNonComment->isTypeOrIdentifier(LangOpts)) {
35333521
// This is a requires clause.
3534-
parseRequiresClause(RequiresToken);
3522+
parseRequiresClause();
35353523
return true;
35363524
}
35373525
// It's an expression.
3538-
parseRequiresExpression(RequiresToken);
3526+
parseRequiresExpression();
35393527
return false;
35403528
}
35413529

@@ -3564,7 +3552,7 @@ bool UnwrappedLineParser::parseRequires(bool SeenEqual) {
35643552
case tok::comma:
35653553
if (OpenAngles == 0) {
35663554
FormatTok = Tokens->setPosition(StoredPosition);
3567-
parseRequiresExpression(RequiresToken);
3555+
parseRequiresExpression();
35683556
return false;
35693557
}
35703558
break;
@@ -3579,7 +3567,7 @@ bool UnwrappedLineParser::parseRequires(bool SeenEqual) {
35793567
case tok::identifier:
35803568
if (FoundType && !LastWasColonColon && OpenAngles == 0) {
35813569
FormatTok = Tokens->setPosition(StoredPosition);
3582-
parseRequiresExpression(RequiresToken);
3570+
parseRequiresExpression();
35833571
return false;
35843572
}
35853573
FoundType = true;
@@ -3594,39 +3582,37 @@ bool UnwrappedLineParser::parseRequires(bool SeenEqual) {
35943582
default:
35953583
if (NextToken->isTypeName(LangOpts)) {
35963584
FormatTok = Tokens->setPosition(StoredPosition);
3597-
parseRequiresExpression(RequiresToken);
3585+
parseRequiresExpression();
35983586
return false;
35993587
}
36003588
break;
36013589
}
36023590
}
36033591
// This seems to be a complicated expression, just assume it's a clause.
36043592
FormatTok = Tokens->setPosition(StoredPosition);
3605-
parseRequiresClause(RequiresToken);
3593+
parseRequiresClause();
36063594
return true;
36073595
}
36083596

36093597
/// Parses a requires clause.
3610-
/// \param RequiresToken The requires keyword token, which starts this clause.
3611-
/// \pre We need to be on the next token after the requires keyword.
36123598
/// \sa parseRequiresExpression
36133599
///
36143600
/// Returns if it either has finished parsing the clause, or it detects, that
36153601
/// the clause is incorrect.
3616-
void UnwrappedLineParser::parseRequiresClause(FormatToken *RequiresToken) {
3617-
assert(FormatTok->getPreviousNonComment() == RequiresToken);
3618-
assert(RequiresToken->is(tok::kw_requires) && "'requires' expected");
3602+
void UnwrappedLineParser::parseRequiresClause() {
3603+
assert(FormatTok->is(tok::kw_requires) && "'requires' expected");
36193604

36203605
// If there is no previous token, we are within a requires expression,
36213606
// otherwise we will always have the template or function declaration in front
36223607
// of it.
36233608
bool InRequiresExpression =
3624-
!RequiresToken->Previous ||
3625-
RequiresToken->Previous->is(TT_RequiresExpressionLBrace);
3609+
!FormatTok->Previous ||
3610+
FormatTok->Previous->is(TT_RequiresExpressionLBrace);
36263611

3627-
RequiresToken->setFinalizedType(InRequiresExpression
3628-
? TT_RequiresClauseInARequiresExpression
3629-
: TT_RequiresClause);
3612+
FormatTok->setFinalizedType(InRequiresExpression
3613+
? TT_RequiresClauseInARequiresExpression
3614+
: TT_RequiresClause);
3615+
nextToken();
36303616

36313617
// NOTE: parseConstraintExpression is only ever called from this function.
36323618
// It could be inlined into here.
@@ -3637,17 +3623,15 @@ void UnwrappedLineParser::parseRequiresClause(FormatToken *RequiresToken) {
36373623
}
36383624

36393625
/// Parses a requires expression.
3640-
/// \param RequiresToken The requires keyword token, which starts this clause.
3641-
/// \pre We need to be on the next token after the requires keyword.
36423626
/// \sa parseRequiresClause
36433627
///
36443628
/// Returns if it either has finished parsing the expression, or it detects,
36453629
/// that the expression is incorrect.
3646-
void UnwrappedLineParser::parseRequiresExpression(FormatToken *RequiresToken) {
3647-
assert(FormatTok->getPreviousNonComment() == RequiresToken);
3648-
assert(RequiresToken->is(tok::kw_requires) && "'requires' expected");
3630+
void UnwrappedLineParser::parseRequiresExpression() {
3631+
assert(FormatTok->is(tok::kw_requires) && "'requires' expected");
36493632

3650-
RequiresToken->setFinalizedType(TT_RequiresExpression);
3633+
FormatTok->setFinalizedType(TT_RequiresExpression);
3634+
nextToken();
36513635

36523636
if (FormatTok->is(tok::l_paren)) {
36533637
FormatTok->setFinalizedType(TT_RequiresExpressionLParen);
@@ -3687,12 +3671,9 @@ void UnwrappedLineParser::parseConstraintExpression() {
36873671
bool LambdaThisTimeAllowed = std::exchange(LambdaNextTimeAllowed, false);
36883672

36893673
switch (FormatTok->Tok.getKind()) {
3690-
case tok::kw_requires: {
3691-
auto RequiresToken = FormatTok;
3692-
nextToken();
3693-
parseRequiresExpression(RequiresToken);
3674+
case tok::kw_requires:
3675+
parseRequiresExpression();
36943676
break;
3695-
}
36963677

36973678
case tok::l_paren:
36983679
if (!TopLevelParensAllowed)

clang/lib/Format/UnwrappedLineParser.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ class UnwrappedLineParser {
169169
bool parseEnum();
170170
bool parseStructLike();
171171
bool parseRequires(bool SeenEqual);
172-
void parseRequiresClause(FormatToken *RequiresToken);
173-
void parseRequiresExpression(FormatToken *RequiresToken);
172+
void parseRequiresClause();
173+
void parseRequiresExpression();
174174
void parseConstraintExpression();
175175
void parseCppExportBlock();
176176
void parseNamespaceOrExportBlock(unsigned AddLevels);

0 commit comments

Comments
 (0)