summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/Format/TokenAnnotator.cpp2
-rw-r--r--clang/unittests/Format/FormatTestJava.cpp5
2 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp
index bebd6cc18d7..0b2b2220941 100644
--- a/clang/lib/Format/TokenAnnotator.cpp
+++ b/clang/lib/Format/TokenAnnotator.cpp
@@ -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.
diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp
index 60111b19edc..a47bfcaab84 100644
--- a/clang/unittests/Format/FormatTestJava.cpp
+++ b/clang/unittests/Format/FormatTestJava.cpp
@@ -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) {
OpenPOWER on IntegriCloud