Skip to content

Commit a533b76

Browse files
authored
[clang-format][NFC] Simplify parseBracedList() (#72010)
1 parent e0e0891 commit a533b76

File tree

2 files changed

+12
-24
lines changed

2 files changed

+12
-24
lines changed

clang/lib/Format/UnwrappedLineParser.cpp

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2017,8 +2017,7 @@ void UnwrappedLineParser::parseStructuralElement(
20172017
} else if (Style.Language == FormatStyle::LK_Proto &&
20182018
FormatTok->is(tok::less)) {
20192019
nextToken();
2020-
parseBracedList(/*ContinueOnSemicolons=*/false, /*IsEnum=*/false,
2021-
/*ClosingBraceKind=*/tok::greater);
2020+
parseBracedList(/*IsAngleBracket=*/true);
20222021
}
20232022
break;
20242023
case tok::l_square:
@@ -2379,9 +2378,7 @@ bool UnwrappedLineParser::tryToParseChildBlock() {
23792378
return true;
23802379
}
23812380

2382-
bool UnwrappedLineParser::parseBracedList(bool ContinueOnSemicolons,
2383-
bool IsEnum,
2384-
tok::TokenKind ClosingBraceKind) {
2381+
bool UnwrappedLineParser::parseBracedList(bool IsAngleBracket, bool IsEnum) {
23852382
bool HasError = false;
23862383

23872384
// FIXME: Once we have an expression parser in the UnwrappedLineParser,
@@ -2403,7 +2400,7 @@ bool UnwrappedLineParser::parseBracedList(bool ContinueOnSemicolons,
24032400
parseChildBlock();
24042401
}
24052402
}
2406-
if (FormatTok->Tok.getKind() == ClosingBraceKind) {
2403+
if (FormatTok->is(IsAngleBracket ? tok::greater : tok::r_brace)) {
24072404
if (IsEnum && !Style.AllowShortEnumsOnASingleLine)
24082405
addUnwrappedLine();
24092406
nextToken();
@@ -2434,14 +2431,9 @@ bool UnwrappedLineParser::parseBracedList(bool ContinueOnSemicolons,
24342431
parseBracedList();
24352432
break;
24362433
case tok::less:
2437-
if (Style.Language == FormatStyle::LK_Proto ||
2438-
ClosingBraceKind == tok::greater) {
2439-
nextToken();
2440-
parseBracedList(/*ContinueOnSemicolons=*/false, /*IsEnum=*/false,
2441-
/*ClosingBraceKind=*/tok::greater);
2442-
} else {
2443-
nextToken();
2444-
}
2434+
nextToken();
2435+
if (IsAngleBracket)
2436+
parseBracedList(/*IsAngleBracket=*/true);
24452437
break;
24462438
case tok::semi:
24472439
// JavaScript (or more precisely TypeScript) can have semicolons in braced
@@ -2453,8 +2445,8 @@ bool UnwrappedLineParser::parseBracedList(bool ContinueOnSemicolons,
24532445
break;
24542446
}
24552447
HasError = true;
2456-
if (!ContinueOnSemicolons)
2457-
return !HasError;
2448+
if (!IsEnum)
2449+
return false;
24582450
nextToken();
24592451
break;
24602452
case tok::comma:
@@ -3618,8 +3610,7 @@ void UnwrappedLineParser::parseConstraintExpression() {
36183610
return;
36193611

36203612
nextToken();
3621-
parseBracedList(/*ContinueOnSemicolons=*/false, /*IsEnum=*/false,
3622-
/*ClosingBraceKind=*/tok::greater);
3613+
parseBracedList(/*IsAngleBracket=*/true);
36233614
break;
36243615

36253616
default:
@@ -3650,8 +3641,7 @@ void UnwrappedLineParser::parseConstraintExpression() {
36503641
nextToken();
36513642
if (FormatTok->is(tok::less)) {
36523643
nextToken();
3653-
parseBracedList(/*ContinueOnSemicolons=*/false, /*IsEnum=*/false,
3654-
/*ClosingBraceKind=*/tok::greater);
3644+
parseBracedList(/*IsAngleBracket=*/true);
36553645
}
36563646
TopLevelParensAllowed = false;
36573647
break;
@@ -3732,8 +3722,7 @@ bool UnwrappedLineParser::parseEnum() {
37323722
addUnwrappedLine();
37333723
Line->Level += 1;
37343724
}
3735-
bool HasError = !parseBracedList(/*ContinueOnSemicolons=*/true,
3736-
/*IsEnum=*/true);
3725+
bool HasError = !parseBracedList(/*IsAngleBracket=*/false, /*IsEnum=*/true);
37373726
if (!Style.AllowShortEnumsOnASingleLine)
37383727
Line->Level -= 1;
37393728
if (HasError) {

clang/lib/Format/UnwrappedLineParser.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,7 @@ class UnwrappedLineParser {
150150
bool *HasDoWhile = nullptr,
151151
bool *HasLabel = nullptr);
152152
bool tryToParseBracedList();
153-
bool parseBracedList(bool ContinueOnSemicolons = false, bool IsEnum = false,
154-
tok::TokenKind ClosingBraceKind = tok::r_brace);
153+
bool parseBracedList(bool IsAngleBracket = false, bool IsEnum = false);
155154
bool parseParens(TokenType AmpAmpTokenType = TT_Unknown);
156155
void parseSquare(bool LambdaIntroducer = false);
157156
void keepAncestorBraces();

0 commit comments

Comments
 (0)