]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Fix class declaration line breaks.
authorDaniel Jasper <djasper@google.com>
Tue, 4 Nov 2014 10:53:14 +0000 (10:53 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 4 Nov 2014 10:53:14 +0000 (10:53 +0000)
Before:
  @SomeAnnotation()
  abstract
      class aaaaaaaaa<a> extends bbbbbbbbbbbb<b> implements cccccccccccc {
  }

After:
  @SomeAnnotation()
  abstract class aaaaaaaaa<a> extends bbbbbbbbbbbb<b>
      implements cccccccccccc {
  }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221256 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTestJava.cpp

index 4b8f80f3774c74a16d3fdf3acd848a0a4222c335..c426bed316bf3178cf258996249408d75262661e 100644 (file)
@@ -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))
index 591d1f3a32dd71c1389ea7a22a4479ef7a067530..c51566715dd4fb56627acca85c088984503673fa 100644 (file)
@@ -82,6 +82,11 @@ TEST_F(FormatTestJava, ClassDeclarations) {
                "    implements cccccccccccc {\n"
                "}",
                getStyleWithColumns(76));
+  verifyFormat("@SomeAnnotation()\n"
+               "abstract class aaaaaaaaa<a> extends bbbbbbbbbbbb<b>\n"
+               "    implements cccccccccccc {\n"
+               "}",
+               getStyleWithColumns(76));
 }
 
 TEST_F(FormatTestJava, EnumDeclarations) {