]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Make annotation formatting more consistent.
authorDaniel Jasper <djasper@google.com>
Tue, 21 Oct 2014 10:02:03 +0000 (10:02 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 21 Oct 2014 10:02:03 +0000 (10:02 +0000)
Before:
  DoSomething(new A() {
    @Override public String toString() {
    }
  });

After:
  DoSomething(new A() {
    @Override
    public String toString() {
    }
  });

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

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

index 4493471d217fb686998103130190e76d006caec5..ba08ace1e8bdcf566f9e4acd6f3a869e6e728d89 100644 (file)
@@ -1797,7 +1797,7 @@ bool TokenAnnotator::mustBreakBefore(const AnnotatedLine &Line,
       return true;
   } else if (Style.Language == FormatStyle::LK_Java) {
     if (Left.Type == TT_JavaAnnotation && Right.isNot(tok::l_paren) &&
-        Line.MightBeFunctionDecl)
+        Line.Last->is(tok::l_brace))
       return true;
   }
 
index 49c95a8753b83314f1ca00ced5ad1b107f1fcf5a..00809bea91fc968fa429a0d7e0e5bbc426234b0e 100644 (file)
@@ -75,6 +75,12 @@ TEST_F(FormatTestJava, Annotations) {
   verifyFormat("@SuppressWarnings(value = \"unchecked\")\n"
                "public void doSomething() {\n}");
 
+  verifyFormat("DoSomething(new A() {\n"
+               "  @Override\n"
+               "  public String toString() {\n"
+               "  }\n"
+               "});");
+
   verifyFormat("@Partial @Mock DataLoader loader;");
 }