From 404658aeded17d753efdb508f850a8af3c7f5f5a Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Wed, 14 Jan 2015 10:00:20 +0000 Subject: [PATCH] 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 --- clang/lib/Format/TokenAnnotator.cpp | 3 +++ clang/unittests/Format/FormatTestJava.cpp | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 351c6fa..b2f9bd2 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 39abc7b..e0f2b51 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) { -- 2.7.4