[PATCH] D116000: Revert "[clang-format] Adjust braced list detection"
Krasimir Georgiev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Dec 19 05:49:50 PST 2021
krasimir created this revision.
krasimir requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
It appears that this regressed the formatting of initializer lists in some
cases, see comments on https://reviews.llvm.org/D114583. I'll follow-up
by adding regression tests for these.
This reverts commit c41b3b0fa0f4f70aad8deaf48bcd42a04385066c <https://reviews.llvm.org/rGc41b3b0fa0f4f70aad8deaf48bcd42a04385066c>.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D116000
Files:
clang/lib/Format/UnwrappedLineParser.cpp
clang/unittests/Format/FormatTest.cpp
Index: clang/unittests/Format/FormatTest.cpp
===================================================================
--- clang/unittests/Format/FormatTest.cpp
+++ clang/unittests/Format/FormatTest.cpp
@@ -11867,27 +11867,6 @@
" f(v);\n"
"}");
- verifyFormat("void foo() {\n"
- " { // asdf\n"
- " { int a; }\n"
- " }\n"
- " {\n"
- " { int b; }\n"
- " }\n"
- "}");
- verifyFormat("namespace n {\n"
- "void foo() {\n"
- " {\n"
- " {\n"
- " statement();\n"
- " if (false) {\n"
- " }\n"
- " }\n"
- " }\n"
- " {}\n"
- "}\n"
- "} // namespace n");
-
// Long lists should be formatted in columns even if they are nested.
verifyFormat(
"vector<int> x = function({1, 22, 333, 4444, 55555, 666666, 7777777,\n"
Index: clang/lib/Format/UnwrappedLineParser.cpp
===================================================================
--- clang/lib/Format/UnwrappedLineParser.cpp
+++ clang/lib/Format/UnwrappedLineParser.cpp
@@ -578,14 +578,17 @@
// BlockKind later if we parse a braced list (where all blocks
// inside are by default braced lists), or when we explicitly detect
// blocks (for example while parsing lambdas).
+ // FIXME: Some of these do not apply to JS, e.g. "} {" can never be a
+ // braced list in JS.
ProbablyBracedList =
(Style.Language == FormatStyle::LK_JavaScript &&
NextTok->isOneOf(Keywords.kw_of, Keywords.kw_in,
Keywords.kw_as)) ||
(Style.isCpp() && NextTok->is(tok::l_paren)) ||
NextTok->isOneOf(tok::comma, tok::period, tok::colon,
- tok::r_paren, tok::r_square, tok::ellipsis) ||
- (NextTok->isOneOf(tok::l_brace, tok::identifier) &&
+ tok::r_paren, tok::r_square, tok::l_brace,
+ tok::ellipsis) ||
+ (NextTok->is(tok::identifier) &&
!PrevTok->isOneOf(tok::semi, tok::r_brace, tok::l_brace)) ||
(NextTok->is(tok::semi) &&
(!ExpectClassBody || LBraceStack.size() != 1)) ||
@@ -2861,7 +2864,7 @@
// class Foo implements {bar: number} { }
nextToken();
if (FormatTok->is(tok::l_brace)) {
- parseBracedList();
+ tryToParseBracedList();
continue;
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116000.395321.patch
Type: text/x-patch
Size: 2668 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20211219/e2543d71/attachment-0001.bin>
More information about the cfe-commits
mailing list