From: Daniel Jasper Date: Tue, 21 Oct 2014 09:25:39 +0000 (+0000) Subject: clang-format: [Java] Support annotations with parameters. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f1f0c356323dba29905c202b29d8d73c38753437;p=platform%2Fupstream%2Fllvm.git clang-format: [Java] Support annotations with parameters. Before: @SuppressWarnings (value = "unchecked") public void doSomething() { .. } After: @SuppressWarnings(value = "unchecked") public void doSomething() { .. } llvm-svn: 220279 --- diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index ce3d899..4f32b9f 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -184,6 +184,8 @@ private: if (Left->Type == TT_AttributeParen) CurrentToken->Type = TT_AttributeParen; + if (Left->Previous && Left->Previous->Type == TT_JavaAnnotation) + CurrentToken->Type = TT_JavaAnnotation; if (!HasMultipleLines) Left->PackingKind = PPK_Inconclusive; @@ -1791,7 +1793,8 @@ bool TokenAnnotator::mustBreakBefore(const AnnotatedLine &Line, Left.Previous->is(tok::char_constant)) return true; } else if (Style.Language == FormatStyle::LK_Java) { - if (Left.Type == TT_JavaAnnotation && Line.MightBeFunctionDecl) + if (Left.Type == TT_JavaAnnotation && Right.isNot(tok::l_paren) && + Line.MightBeFunctionDecl) return true; } diff --git a/clang/unittests/Format/FormatTestJava.cpp b/clang/unittests/Format/FormatTestJava.cpp index 18d945d..cf48a7a 100644 --- a/clang/unittests/Format/FormatTestJava.cpp +++ b/clang/unittests/Format/FormatTestJava.cpp @@ -70,6 +70,10 @@ TEST_F(FormatTestJava, Annotations) { verifyFormat("@Override\n" "@Nullable\n" "public String getNameIfPresent() {\n}"); + + verifyFormat("@SuppressWarnings(value = \"unchecked\")\n" + "public void doSomething() {\n}"); + verifyFormat("@Partial @Mock DataLoader loader;"); }