From: Daniel Jasper Date: Tue, 4 Nov 2014 10:53:14 +0000 (+0000) Subject: clang-format: [Java] Fix class declaration line breaks. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=70e4d98f6325bbd5f01e400d1801f17fc780bee3;p=clang clang-format: [Java] Fix class declaration line breaks. Before: @SomeAnnotation() abstract class aaaaaaaaa extends bbbbbbbbbbbb implements cccccccccccc { } After: @SomeAnnotation() abstract class aaaaaaaaa extends bbbbbbbbbbbb implements cccccccccccc { } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221256 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 4b8f80f377..c426bed316 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1862,6 +1862,10 @@ bool TokenAnnotator::canBreakBefore(const AnnotatedLine &Line, (Left.TokenText == "throws" || Left.TokenText == "extends" || Left.TokenText == "implements")) return false; + if (Right.is(tok::identifier) && + (Right.TokenText == "throws" || Right.TokenText == "extends" || + Right.TokenText == "implements")) + return true; } if (Left.is(tok::at)) diff --git a/unittests/Format/FormatTestJava.cpp b/unittests/Format/FormatTestJava.cpp index 591d1f3a32..c51566715d 100644 --- a/unittests/Format/FormatTestJava.cpp +++ b/unittests/Format/FormatTestJava.cpp @@ -82,6 +82,11 @@ TEST_F(FormatTestJava, ClassDeclarations) { " implements cccccccccccc {\n" "}", getStyleWithColumns(76)); + verifyFormat("@SomeAnnotation()\n" + "abstract class aaaaaaaaa extends bbbbbbbbbbbb\n" + " implements cccccccccccc {\n" + "}", + getStyleWithColumns(76)); } TEST_F(FormatTestJava, EnumDeclarations) {