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
commitf836d0163117cf15d8dd03383b92b04dcbb1dc21 (patch)
treeb4718e6bdd6ddf1b36b12aa00460808cc27e1b89
parent89fc46ad711ab2127a690b28a7ad26491c271eeb (diff)
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) {} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225964 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Format/TokenAnnotator.cpp3
-rw-r--r--unittests/Format/FormatTestJava.cpp4
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp
index 351c6fa9e8..b2f9bd2cc5 100644
--- a/lib/Format/TokenAnnotator.cpp
+++ b/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/unittests/Format/FormatTestJava.cpp b/unittests/Format/FormatTestJava.cpp
index 39abc7b555..e0f2b51f06 100644
--- a/unittests/Format/FormatTestJava.cpp
+++ b/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) {