]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Fix formatting of multiple annotations.
authorDaniel Jasper <djasper@google.com>
Tue, 21 Oct 2014 11:17:56 +0000 (11:17 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 21 Oct 2014 11:17:56 +0000 (11:17 +0000)
Before:
  @SuppressWarnings(value = "unchecked")
  @Author(name = "abc") public void doSomething() {
  }

After:
  @SuppressWarnings(value = "unchecked")
  @Author(name = "abc")
  public void doSomething() {
  }

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

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

index 4b39b507359773d51636873d3c5c75735a313b7c..db0e93165981f00138bc8a9e005ddec059651238 100644 (file)
@@ -827,7 +827,8 @@ private:
             PreviousNoComment->isOneOf(tok::comma, tok::l_brace))
           Current.Type = TT_DesignatedInitializerPeriod;
       } else if (Current.isOneOf(tok::identifier, tok::kw_const) &&
-                 Current.Previous && Current.Previous->isNot(tok::equal) &&
+                 Current.Previous &&
+                 !Current.Previous->isOneOf(tok::equal, tok::at) &&
                  Line.MightBeFunctionDecl && Contexts.size() == 1) {
         // Line.MightBeFunctionDecl can only be true after the parentheses of a
         // function declaration have been found.
index f7d85fc4a0e456b39e533b962daf92b7becf97f5..d38a8070bdce68c4e5cbd60fb188a685d629bd4d 100644 (file)
@@ -74,6 +74,9 @@ TEST_F(FormatTestJava, Annotations) {
 
   verifyFormat("@SuppressWarnings(value = \"unchecked\")\n"
                "public void doSomething() {\n}");
+  verifyFormat("@SuppressWarnings(value = \"unchecked\")\n"
+               "@Author(name = \"abc\")\n"
+               "public void doSomething() {\n}");
 
   verifyFormat("DoSomething(new A() {\n"
                "  @Override\n"