llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-format Author: llvmbot <details> <summary>Changes</summary> Backport 6d390ea43be046d62bc880524ffc4734a21307a7 Requested by: @<!-- -->HazardyKnusperkeks --- Full diff: https://github.com/llvm/llvm-project/pull/219964.diff 2 Files Affected: - (modified) clang/lib/Format/UnwrappedLineFormatter.cpp (+7-2) - (modified) clang/unittests/Format/FormatTestJava.cpp (+7) ``````````diff diff --git a/clang/lib/Format/UnwrappedLineFormatter.cpp b/clang/lib/Format/UnwrappedLineFormatter.cpp index b783876b6da8f..9c310559078e7 100644 --- a/clang/lib/Format/UnwrappedLineFormatter.cpp +++ b/clang/lib/Format/UnwrappedLineFormatter.cpp @@ -518,9 +518,14 @@ class LineJoiner { } else if (TheLine->Last->is(TT_CompoundRequirementLBrace)) { ShouldMerge = Style.AllowShortCompoundRequirementOnASingleLine; } else if (TheLine->Last->isOneOf(TT_ClassLBrace, TT_StructLBrace, - TT_UnionLBrace) || - (TheLine->Last->is(TT_RecordLBrace) && Style.isJava())) { + TT_UnionLBrace)) { return tryMergeRecord(I, E, Limit); + } else if (TheLine->Last->is(TT_RecordLBrace) && Style.isJava()) { + // Java `interface` and `record` have no dedicated `BraceWrapping.After` + // option and are not governed by `AllowShortRecordOnASingleLine`. + ShouldMerge = !Style.BraceWrapping.AfterClass || + (NextLine.First->is(tok::r_brace) && + !Style.BraceWrapping.SplitEmptyRecord); } else if (TheLine->InPPDirective || TheLine->First->isNoneOf(tok::kw_class, tok::kw_enum, tok::kw_struct, tok::kw_union)) { diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp index fa51e0421d714..a11fce963d820 100644 --- a/clang/unittests/Format/FormatTestJava.cpp +++ b/clang/unittests/Format/FormatTestJava.cpp @@ -869,6 +869,13 @@ TEST_F(FormatTestJava, BreakAfterRecord) { "public record Foo(int i) {}", Style); } +TEST_F(FormatTestJava, EmptyRecordBodyOnASingleLine) { + auto Style = getGoogleStyle(FormatStyle::LK_Java); + verifyFormat("public interface Marker {}", Style); + verifyFormat("public record Marker() {}", Style); + verifyFormat("public class Marker {}", Style); +} + } // namespace } // namespace test } // namespace format `````````` </details> https://github.com/llvm/llvm-project/pull/219964 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
