]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Don't get confused by leading annotations.
authorDaniel Jasper <djasper@google.com>
Wed, 14 Jan 2015 09:47:57 +0000 (09:47 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 14 Jan 2015 09:47:57 +0000 (09:47 +0000)
Before:
  @Test(a)
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaa(
      aaaaaaaaaaaaaaaaaaaaaaa);

After:
  @Test(a)
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =
      aaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa);

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

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

index b4eb3656bdf23012fc2bbb5c1f899a7b651b308a..11dd2be619db83d7cdc4b35012b92852e16a9e0d 100644 (file)
@@ -458,7 +458,8 @@ private:
         return false;
       if (Line.MustBeDeclaration && Contexts.size() == 1 &&
           !Contexts.back().IsExpression && Line.First->isNot(TT_ObjCProperty) &&
-          (!Tok->Previous || Tok->Previous->isNot(tok::kw_decltype)))
+          (!Tok->Previous ||
+           !Tok->Previous->isOneOf(tok::kw_decltype, TT_LeadingJavaAnnotation)))
         Line.MightBeFunctionDecl = true;
       break;
     case tok::l_square:
index 3c7cf327685df500e390acbc1f87f57de4326d1a..a3e86d6f653b07a7eea8dd0500726858483037a3 100644 (file)
@@ -276,6 +276,9 @@ TEST_F(FormatTestJava, Annotations) {
                "DataLoader loooooooooooooooooooooooader =\n"
                "    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;",
                getStyleWithColumns(60));
+  verifyFormat("@Test(a)\n"
+               "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
+               "    aaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa);");
 }
 
 TEST_F(FormatTestJava, Generics) {