<div dir="ltr">Thanks!</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 13, 2015 at 11:32 PM, Nico Weber <span dir="ltr"><<a href="mailto:nicolasweber@gmx.de" target="_blank">nicolasweber@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: nico<br>
Date: Tue Jan 13 16:32:50 2015<br>
New Revision: 225839<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=225839&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=225839&view=rev</a><br>
Log:<br>
clang-format: [Java] Detect `native` keyword.<br>
<br>
Before:<br>
  public native<X> Foo foo();<br>
<br>
After:<br>
  public native <X> Foo foo();<br>
<br>
<br>
Modified:<br>
    cfe/trunk/lib/Format/FormatToken.h<br>
    cfe/trunk/lib/Format/TokenAnnotator.cpp<br>
    cfe/trunk/unittests/Format/FormatTestJava.cpp<br>
<br>
Modified: cfe/trunk/lib/Format/FormatToken.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/FormatToken.h?rev=225839&r1=225838&r2=225839&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/FormatToken.h?rev=225839&r1=225838&r2=225839&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Format/FormatToken.h (original)<br>
+++ cfe/trunk/lib/Format/FormatToken.h Tue Jan 13 16:32:50 2015<br>
@@ -551,6 +551,7 @@ struct AdditionalKeywords {<br>
     kw_implements = &IdentTable.get("implements");<br>
     kw_instanceof = &IdentTable.get("instanceof");<br>
     kw_interface = &IdentTable.get("interface");<br>
+    kw_native = &IdentTable.get("native");<br>
     kw_package = &IdentTable.get("package");<br>
     kw_synchronized = &IdentTable.get("synchronized");<br>
     kw_throws = &IdentTable.get("throws");<br>
@@ -581,6 +582,7 @@ struct AdditionalKeywords {<br>
   IdentifierInfo *kw_implements;<br>
   IdentifierInfo *kw_instanceof;<br>
   IdentifierInfo *kw_interface;<br>
+  IdentifierInfo *kw_native;<br>
   IdentifierInfo *kw_package;<br>
   IdentifierInfo *kw_synchronized;<br>
   IdentifierInfo *kw_throws;<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=225839&r1=225838&r2=225839&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=225839&r1=225838&r2=225839&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Format/TokenAnnotator.cpp (original)<br>
+++ cfe/trunk/lib/Format/TokenAnnotator.cpp Tue Jan 13 16:32:50 2015<br>
@@ -1749,7 +1749,8 @@ bool TokenAnnotator::spaceRequiredBefore<br>
       return Style.SpaceBeforeParens != FormatStyle::SBPO_Never;<br>
     if ((Left.isOneOf(tok::kw_static, tok::kw_public, tok::kw_private,<br>
                       tok::kw_protected) ||<br>
-         Left.isOneOf(Keywords.kw_final, Keywords.kw_abstract)) &&<br>
+         Left.isOneOf(Keywords.kw_final, Keywords.kw_abstract,<br>
+                      Keywords.kw_native)) &&<br>
         Right.is(TT_TemplateOpener))<br>
       return true;<br>
   }<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=225839&r1=225838&r2=225839&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTestJava.cpp?rev=225839&r1=225838&r2=225839&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/unittests/Format/FormatTestJava.cpp (original)<br>
+++ cfe/trunk/unittests/Format/FormatTestJava.cpp Tue Jan 13 16:32:50 2015<br>
@@ -292,6 +292,7 @@ TEST_F(FormatTestJava, Generics) {<br>
   verifyFormat("protected <R> ArrayList<R> get() {}");<br>
   verifyFormat("private <R> ArrayList<R> get() {}");<br>
   verifyFormat("public static <R> ArrayList<R> get() {}");<br>
+  verifyFormat("public static native <R> ArrayList<R> get();");<br>
   verifyFormat("public final <X> Foo foo() {}");<br>
   verifyFormat("public abstract <X> Foo foo();");<br>
   verifyFormat("<T extends B> T getInstance(Class<T> type);");<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">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><br></div>