[PATCH] D133571: [clang-format] Introduce NoFallThrough option into AllowShortCaseLabelsOnASingleLine
Owen Pan via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 9 23:26:00 PDT 2022
owenpan added inline comments.
================
Comment at: clang/lib/Format/UnwrappedLineFormatter.cpp:567
return Style.AllowShortCaseLabelsOnASingleLine
- ? tryMergeShortCaseLabels(I, E, Limit)
+ ? tryMergeShortCaseLabels(I, E, Limit, PreviousLine, Style)
: 0;
----------------
See below.
================
Comment at: clang/lib/Format/UnwrappedLineFormatter.cpp:635-636
SmallVectorImpl<AnnotatedLine *>::const_iterator E,
- unsigned Limit) {
+ unsigned Limit, const AnnotatedLine *PreviousLine,
+ const FormatStyle &Style) {
if (Limit == 0 || I + 1 == E ||
----------------
We don't need to add `Style`.
================
Comment at: clang/lib/Format/UnwrappedLineFormatter.cpp:643-644
return 0;
+ bool NoFallThrough = Style.AllowShortCaseLabelsOnASingleLine ==
+ FormatStyle::SCLS_NoFallThrough;
+ // Don't merge if the last thing on the line before was just `case X:`.
----------------
Nit.
================
Comment at: clang/lib/Format/UnwrappedLineFormatter.cpp:646
+ // Don't merge if the last thing on the line before was just `case X:`.
+ if (NoFallThrough && PreviousLine && PreviousLine->Last) {
+ if (PreviousLine->Last->is(tok::colon))
----------------
`Last` should never be null.
================
Comment at: clang/lib/Format/UnwrappedLineFormatter.cpp:650-653
+ if (PreviousLine->Last->Previous && PreviousLine->Last->Previous) {
+ auto *PrevPrev = PreviousLine->Last->Previous->Previous;
+ if (PrevPrev && PrevPrev->startsSequence(TT_AttributeSquare,
+ TT_AttributeSquare, tok::semi))
----------------
curdeius wrote:
> Haven't seen this before.
Use `endsSequence` instead.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133571/new/
https://reviews.llvm.org/D133571
More information about the cfe-commits
mailing list