From a831c58e53a8a37169ede3e9dcbadf0873ef47c8 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Wed, 14 Jan 2015 09:47:57 +0000 Subject: [PATCH] clang-format: [Java] Don't get confused by leading annotations. Before: @Test(a) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaa); After: @Test(a) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa); llvm-svn: 225962 --- clang/lib/Format/TokenAnnotator.cpp | 3 ++- clang/unittests/Format/FormatTestJava.cpp | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index b4eb3656bdf2..11dd2be619db 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -458,7 +458,8 @@ private: return false; if (Line.MustBeDeclaration && Contexts.size() == 1 && !Contexts.back().IsExpression && Line.First->isNot(TT_ObjCProperty) && - (!Tok->Previous || Tok->Previous->isNot(tok::kw_decltype))) + (!Tok->Previous || + !Tok->Previous->isOneOf(tok::kw_decltype, TT_LeadingJavaAnnotation))) Line.MightBeFunctionDecl = true; break; case tok::l_square: diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp index 3c7cf327685d..a3e86d6f653b 100644 --- a/clang/unittests/Format/FormatTestJava.cpp +++ b/clang/unittests/Format/FormatTestJava.cpp @@ -276,6 +276,9 @@ TEST_F(FormatTestJava, Annotations) { "DataLoader loooooooooooooooooooooooader =\n" " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;", getStyleWithColumns(60)); + verifyFormat("@Test(a)\n" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa);"); } TEST_F(FormatTestJava, Generics) { -- GitLab