]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Fix static generic methods.
authorDaniel Jasper <djasper@google.com>
Mon, 3 Nov 2014 02:35:14 +0000 (02:35 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 3 Nov 2014 02:35:14 +0000 (02:35 +0000)
Before:
  public static<R> ArrayList<R> get() {}

After:
  public static <R> ArrayList<R> get() {}

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

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

index bebd6cc18d7f4aa8c5b6c5365783d61800670f94..0b2b22209412a9fb2fb251022c21f94f529bb2d7 100644 (file)
@@ -1685,6 +1685,8 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
   } else if (Style.Language == FormatStyle::LK_Java) {
     if (Left.TokenText == "synchronized" && Right.is(tok::l_paren))
       return Style.SpaceBeforeParens != FormatStyle::SBPO_Never;
+    if (Left.is(tok::kw_static) && Right.Type == TT_TemplateOpener)
+      return true;
   }
   if (Right.Tok.getIdentifierInfo() && Left.Tok.getIdentifierInfo())
     return true; // Never ever merge two identifiers.
index 60111b19edc9f031a46a5890f8edf136bd8d3a0c..a47bfcaab84bbbf1648fad74c552d500ea6be5e3 100644 (file)
@@ -140,8 +140,9 @@ TEST_F(FormatTestJava, Generics) {
   verifyFormat("A.<B>doSomething();");
 
   verifyFormat("@Override\n"
-               "public Map<String, ?> getAll() {\n"
-               "}");
+               "public Map<String, ?> getAll() {\n}");
+
+  verifyFormat("public static <R> ArrayList<R> get() {\n}");
 }
 
 TEST_F(FormatTestJava, StringConcatenation) {