diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 351c6fa9e8623b1dd12ff88d9352da720a71520f..b2f9bd2cc51b7c1d4234ba3460fcb942a83d9063 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 39abc7b555eb5c2318730f0c3d3c6d0109234d68..e0f2b51f0680df9c4b9764eaac129e1337a1b502 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) {