]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Don't force break before generic type method.
authorDaniel Jasper <djasper@google.com>
Thu, 20 Nov 2014 09:48:11 +0000 (09:48 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 20 Nov 2014 09:48:11 +0000 (09:48 +0000)
Before:
  Foo.bar()
      .<X>
      baz();

After:
  Foo.bar()
      .<X>baz();

Patch by Harry Terkelsen.

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

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

index f9da8c9230f70bfcd75f22aebd359309177c9898..1afdb19b29d1e78d456cec3e84450c2538cfeae7 100644 (file)
@@ -878,6 +878,7 @@ private:
     if (PreviousNotConst->Type == TT_TemplateCloser)
       return PreviousNotConst && PreviousNotConst->MatchingParen &&
              PreviousNotConst->MatchingParen->Previous &&
+             PreviousNotConst->MatchingParen->Previous->isNot(tok::period) &&
              PreviousNotConst->MatchingParen->Previous->isNot(tok::kw_template);
 
     if (PreviousNotConst->is(tok::r_paren) && PreviousNotConst->MatchingParen &&
index 5c9bf1a25f800ffd81bdbb1da4be9b5ef7f1ee29..94070f46a0634cb1674221b1a61d22dc7134332d 100644 (file)
@@ -234,6 +234,13 @@ TEST_F(FormatTestJava, Generics) {
 
   verifyFormat("private Foo<X, Y>[] foos;");
   verifyFormat("Foo<X, Y>[] foos = this.foos;");
+
+  verifyFormat(
+      "SomeLoooooooooooooooooooooongType name =\n"
+      "    SomeType.foo(someArgument)\n"
+      "        .<X>method()\n"
+      "        .aaaaaaaaaaaaaaaaaaa()\n"
+      "        .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa();");
 }
 
 TEST_F(FormatTestJava, StringConcatenation) {