summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2014-11-03 02:35:14 +0000
committerDaniel Jasper <djasper@google.com>2014-11-03 02:35:14 +0000
commitdb9a7a2f5f9e883c2f21f5a1aa818a5f133b7423 (patch)
tree1d40197d2e82d5e5e3e20eec29778b53ad7bfa14
parent39af6cd5a40e20f99b03e028942ae55ff7323683 (diff)
downloadbcm5719-llvm-db9a7a2f5f9e883c2f21f5a1aa818a5f133b7423.tar.gz
bcm5719-llvm-db9a7a2f5f9e883c2f21f5a1aa818a5f133b7423.zip
clang-format: [Java] Fix static generic methods.
Before: public static<R> ArrayList<R> get() {} After: public static <R> ArrayList<R> get() {} llvm-svn: 221122
-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