Hi djasper,

Before

```
public Foo<X, Y> [] foos;
```

After

```
public Foo<X, Y>[] foos;
```

http://reviews.llvm.org/D6314

Files:
  lib/Format/TokenAnnotator.cpp
  unittests/Format/FormatTestJava.cpp
Index: lib/Format/TokenAnnotator.cpp
===================================================================
--- lib/Format/TokenAnnotator.cpp
+++ lib/Format/TokenAnnotator.cpp
@@ -1680,6 +1680,8 @@
       Left.MatchingParen->Previous->is(tok::period))
     // A.<B>DoSomething();
     return false;
+  if (Left.Type == TT_TemplateCloser && Right.is(tok::l_square))
+    return false;
   return true;
 }
 
Index: unittests/Format/FormatTestJava.cpp
===================================================================
--- unittests/Format/FormatTestJava.cpp
+++ unittests/Format/FormatTestJava.cpp
@@ -217,6 +217,9 @@
   verifyFormat("public static <R> ArrayList<R> get() {\n}");
   verifyFormat("<T extends B> T getInstance(Class<T> type);");
   verifyFormat("Function<F, ? extends T> function;");
+
+  verifyFormat("private Foo<X, Y>[] foos;");
+  verifyFormat("Foo<X, Y>[] foos = this.foos;");
 }
 
 TEST_F(FormatTestJava, StringConcatenation) {
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to