<div dir="ltr">Yes, intentional.. Should have mentioned in the patch description.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 14, 2014 at 5:28 PM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Fri, Nov 14, 2014 at 12:22 AM, Daniel Jasper <span dir="ltr"><<a href="mailto:djasper@google.com" target="_blank">djasper@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: djasper<br>
Date: Fri Nov 14 02:22:46 2014<br>
New Revision: 221976<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=221976&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=221976&view=rev</a><br>
Log:<br>
clang-format: [Java] Improve formatting of generics.<br>
<br>
Before:<br>
  Function < F, ? extends T > function;<br>
<br>
After:<br>
  Function<F, ? extends T> function;<br>
<br>
Modified:<br>
    cfe/trunk/lib/Format/Format.cpp<br>
    cfe/trunk/lib/Format/TokenAnnotator.cpp<br>
    cfe/trunk/unittests/Format/FormatTestJava.cpp<br>
<br>
Modified: cfe/trunk/lib/Format/Format.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=221976&r1=221975&r2=221976&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=221976&r1=221975&r2=221976&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Format/Format.cpp (original)<br>
+++ cfe/trunk/lib/Format/Format.cpp Fri Nov 14 02:22:46 2014<br>
@@ -415,6 +415,7 @@ FormatStyle getGoogleStyle(FormatStyle::<br>
     GoogleStyle.BreakBeforeBinaryOperators = FormatStyle::BOS_NonAssignment;<br>
     GoogleStyle.ColumnLimit = 100;<br>
     GoogleStyle.SpaceAfterCStyleCast = true;<br>
+    GoogleStyle.SpacesBeforeTrailingComments = 1;<br></blockquote><div><br></div></div></div><div>^ Was this intentional? That looks unrelated.</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
   } else if (Language == FormatStyle::LK_JavaScript) {<br>
     GoogleStyle.BreakBeforeTernaryOperators = false;<br>
     GoogleStyle.MaxEmptyLinesToKeep = 3;<br>
<br>
Modified: cfe/trunk/lib/Format/TokenAnnotator.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=221976&r1=221975&r2=221976&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=221976&r1=221975&r2=221976&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Format/TokenAnnotator.cpp (original)<br>
+++ cfe/trunk/lib/Format/TokenAnnotator.cpp Fri Nov 14 02:22:46 2014<br>
@@ -63,11 +63,13 @@ private:<br>
         next();<br>
         return true;<br>
       }<br>
-      if (CurrentToken->isOneOf(tok::r_paren, tok::r_square, tok::r_brace,<br>
-                                tok::colon))<br>
-        return false;<br>
       if (CurrentToken->is(tok::question) &&<br>
-          Style.Language != FormatStyle::LK_Java)<br>
+          Style.Language == FormatStyle::LK_Java) {<br>
+        next();<br>
+        continue;<br>
+      }<br>
+      if (CurrentToken->isOneOf(tok::r_paren, tok::r_square, tok::r_brace,<br>
+                                tok::colon, tok::question))<br>
         return false;<br>
       // If a && or || is found and interpreted as a binary operator, this set<br>
       // of angles is likely part of something like "a < b && c > d". If the<br>
@@ -367,10 +369,6 @@ private:<br>
   }<br>
<br>
   bool parseConditional() {<br>
-    if (Style.Language == FormatStyle::LK_Java &&<br>
-        CurrentToken->isOneOf(tok::comma, tok::greater))<br>
-      return true;  // This is a generic "?".<br>
-<br>
     while (CurrentToken) {<br>
       if (CurrentToken->is(tok::colon)) {<br>
         CurrentToken->Type = TT_ConditionalExpr;<br>
<br>
Modified: cfe/trunk/unittests/Format/FormatTestJava.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTestJava.cpp?rev=221976&r1=221975&r2=221976&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTestJava.cpp?rev=221976&r1=221975&r2=221976&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/unittests/Format/FormatTestJava.cpp (original)<br>
+++ cfe/trunk/unittests/Format/FormatTestJava.cpp Fri Nov 14 02:22:46 2014<br>
@@ -203,6 +203,7 @@ TEST_F(FormatTestJava, Generics) {<br>
<br>
   verifyFormat("public static <R> ArrayList<R> get() {\n}");<br>
   verifyFormat("<T extends B> T getInstance(Class<T> type);");<br>
+  verifyFormat("Function<F, ? extends T> function;");<br>
 }<br>
<br>
 TEST_F(FormatTestJava, StringConcatenation) {<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>