summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/Format/TokenAnnotator.cpp3
-rw-r--r--clang/unittests/Format/FormatTestJava.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp
index f926beb1066..bce1d64166f 100644
--- a/clang/lib/Format/TokenAnnotator.cpp
+++ b/clang/lib/Format/TokenAnnotator.cpp
@@ -1684,7 +1684,8 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
} else if (Style.Language == FormatStyle::LK_Java) {
if (Left.is(Keywords.kw_synchronized) && Right.is(tok::l_paren))
return Style.SpaceBeforeParens != FormatStyle::SBPO_Never;
- if (Left.is(tok::kw_static) && Right.Type == TT_TemplateOpener)
+ if (Left.isOneOf(tok::kw_static, tok::kw_public) &&
+ Right.Type == TT_TemplateOpener)
return true;
}
if (Right.Tok.getIdentifierInfo() && Left.Tok.getIdentifierInfo())
diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp
index e8e35c85ef7..3799003b776 100644
--- a/clang/unittests/Format/FormatTestJava.cpp
+++ b/clang/unittests/Format/FormatTestJava.cpp
@@ -205,6 +205,7 @@ TEST_F(FormatTestJava, Generics) {
verifyFormat("@Override\n"
"public Map<String, ?> getAll() {\n}");
+ verifyFormat("public <R> ArrayList<R> get() {\n}");
verifyFormat("public static <R> ArrayList<R> get() {\n}");
verifyFormat("<T extends B> T getInstance(Class<T> type);");
verifyFormat("Function<F, ? extends T> function;");
OpenPOWER on IntegriCloud