[clang] fa05864 - [clang-format] Make EndsInComma in ContinuationIndenter consistent (#146256)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Jun 29 12:41:37 PDT 2025
Author: Owen Pan
Date: 2025-06-29T12:41:34-07:00
New Revision: fa058647fe3ad7834f9d99af7597b00990afc186
URL: https://github.com/llvm/llvm-project/commit/fa058647fe3ad7834f9d99af7597b00990afc186
DIFF: https://github.com/llvm/llvm-project/commit/fa058647fe3ad7834f9d99af7597b00990afc186.diff
LOG: [clang-format] Make EndsInComma in ContinuationIndenter consistent (#146256)
Added:
Modified:
clang/lib/Format/ContinuationIndenter.cpp
clang/unittests/Format/FormatTest.cpp
Removed:
################################################################################
diff --git a/clang/lib/Format/ContinuationIndenter.cpp b/clang/lib/Format/ContinuationIndenter.cpp
index b4745477b96ef..4010f7fbd25be 100644
--- a/clang/lib/Format/ContinuationIndenter.cpp
+++ b/clang/lib/Format/ContinuationIndenter.cpp
@@ -1929,6 +1929,15 @@ void ContinuationIndenter::moveStatePastScopeOpener(LineState &State,
return;
}
+ const bool EndsInComma = [](const FormatToken *Tok) {
+ if (!Tok)
+ return false;
+ const auto *Prev = Tok->getPreviousNonComment();
+ if (!Prev)
+ return false;
+ return Prev->is(tok::comma);
+ }(Current.MatchingParen);
+
unsigned NewIndent;
unsigned LastSpace = CurrentState.LastSpace;
bool AvoidBinPacking;
@@ -1948,9 +1957,6 @@ void ContinuationIndenter::moveStatePastScopeOpener(LineState &State,
NewIndent = CurrentState.LastSpace + Style.ContinuationIndentWidth;
}
const FormatToken *NextNonComment = Current.getNextNonComment();
- bool EndsInComma = Current.MatchingParen &&
- Current.MatchingParen->Previous &&
- Current.MatchingParen->Previous->is(tok::comma);
AvoidBinPacking = EndsInComma || Current.is(TT_DictLiteral) ||
Style.isProto() || !Style.BinPackArguments ||
(NextNonComment && NextNonComment->isOneOf(
@@ -1984,11 +1990,6 @@ void ContinuationIndenter::moveStatePastScopeOpener(LineState &State,
LastSpace = std::max(LastSpace, CurrentState.Indent);
}
- bool EndsInComma =
- Current.MatchingParen &&
- Current.MatchingParen->getPreviousNonComment() &&
- Current.MatchingParen->getPreviousNonComment()->is(tok::comma);
-
// If ObjCBinPackProtocolList is unspecified, fall back to BinPackParameters
// for backwards compatibility.
bool ObjCBinPackProtocolList =
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index a05bf8305716b..944e7c3fb152a 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -27953,13 +27953,6 @@ TEST_F(FormatTest, AlignArrayOfStructuresLeftAlignmentNonSquare) {
"};",
Style);
verifyFormat("void foo() {\n"
- " auto thing = test{\n"
- " {\n"
- " {13}, {something}, // A\n"
- " }\n"
- " };\n"
- "}",
- "void foo() {\n"
" auto thing = test{\n"
" {\n"
" {13},\n"
@@ -28017,13 +28010,6 @@ TEST_F(FormatTest, AlignArrayOfStructuresRightAlignmentNonSquare) {
"};",
Style);
verifyFormat("void foo() {\n"
- " auto thing = test{\n"
- " {\n"
- " {13}, {something}, // A\n"
- " }\n"
- " };\n"
- "}",
- "void foo() {\n"
" auto thing = test{\n"
" {\n"
" {13},\n"
More information about the cfe-commits
mailing list