[clang] [clang-format] Support BraceWrapping.AfterNamespace with AllowShortNamespacesOnASingleLine (PR #123010)
Owen Pan via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 8 18:47:15 PST 2025
================
@@ -628,28 +632,36 @@ class LineJoiner {
unsigned tryMergeNamespace(ArrayRef<AnnotatedLine *>::const_iterator I,
ArrayRef<AnnotatedLine *>::const_iterator E,
- unsigned Limit) {
+ unsigned Limit, bool OpenBraceWrapped) {
if (Limit == 0)
return 0;
- assert(I[1]);
- const auto &L1 = *I[1];
+ // The merging code is relative to the opening namespace brace, which could
+ // be either on the first or second line due to the brace wrapping rules.
+ const auto OpeningBraceLineOffset = OpenBraceWrapped ? 1 : 0;
+ const auto BraceOpenLine = I + OpeningBraceLineOffset;
----------------
owenca wrote:
```suggestion
const bool OpenBraceWrapped = Style.BraceWrapping.AfterNamespace;
const auto *BraceOpenLine = I + OpenBraceWrapped;
assert(*BraceOpenLine);
if ((*BraceOpenLine)->Last->isNot(tok::l_brace))
return 0;
```
https://github.com/llvm/llvm-project/pull/123010
More information about the cfe-commits
mailing list