diff options
author | Daniel Jasper <djasper@google.com> | 2015-01-14 10:00:20 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2015-01-14 10:00:20 +0000 |
commit | 404658aeded17d753efdb508f850a8af3c7f5f5a (patch) | |
tree | a0eff35736e613ff78de05ee6d2e4c2df4937677 | |
parent | 3e1bd1407b4a4f5dada15d99882abc45c976b997 (diff) | |
download | bcm5719-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.cpp | 3 | ||||
-rw-r--r-- | clang/unittests/Format/FormatTestJava.cpp | 4 |
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) { |