summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2015-01-14 10:00:20 +0000
committerDaniel Jasper <djasper@google.com>2015-01-14 10:00:20 +0000
commit404658aeded17d753efdb508f850a8af3c7f5f5a (patch)
treea0eff35736e613ff78de05ee6d2e4c2df4937677
parent3e1bd1407b4a4f5dada15d99882abc45c976b997 (diff)
downloadbcm5719-llvm-404658aeded17d753efdb508f850a8af3c7f5f5a.tar.gz
bcm5719-llvm-404658aeded17d753efdb508f850a8af3c7f5f5a.zip
clang-format: [Java] Don't let annotations confuse return type analysis.
Before: @Test ReturnType doSomething(String aaaaaaaaaaaaa, String bbbbbbbbbbbbbbb) {} After: @Test ReturnType doSomething( String aaaaaaaaaaaaa, String bbbbbbbbbbbbbbb) {} llvm-svn: 225964
-rw-r--r--clang/lib/Format/TokenAnnotator.cpp3
-rw-r--r--clang/unittests/Format/FormatTestJava.cpp4
2 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp
index 351c6fa9e86..b2f9bd2cc51 100644
--- a/clang/lib/Format/TokenAnnotator.cpp
+++ b/clang/lib/Format/TokenAnnotator.cpp
@@ -900,6 +900,9 @@ private:
if (Tok.isNot(tok::identifier) || !Tok.Previous)
return false;
+ if (Tok.Previous->is(TT_LeadingJavaAnnotation))
+ return false;
+
// Skip "const" as it does not have an influence on whether this is a name.
FormatToken *PreviousNotConst = Tok.Previous;
while (PreviousNotConst && PreviousNotConst->is(tok::kw_const))
diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp
index 39abc7b555e..e0f2b51f068 100644
--- a/clang/unittests/Format/FormatTestJava.cpp
+++ b/clang/unittests/Format/FormatTestJava.cpp
@@ -283,6 +283,10 @@ TEST_F(FormatTestJava, Annotations) {
" aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa)\n"
"int i;",
getStyleWithColumns(50));
+ verifyFormat("@Test\n"
+ "ReturnType doSomething(\n"
+ " String aaaaaaaaaaaaa, String bbbbbbbbbbbbbbb) {}",
+ getStyleWithColumns(60));
}
TEST_F(FormatTestJava, Generics) {
OpenPOWER on IntegriCloud