From: Daniel Jasper Date: Thu, 20 Nov 2014 09:54:49 +0000 (+0000) Subject: clang-format: [Java] Don't align after "return". X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15258f83c1e5b7745bbf4538f29cd465bded00c5;p=clang clang-format: [Java] Don't align after "return". Doesn't seem to be common practice in Java. Before: return aaaaaaaaaaaaaaaaaaa && bbbbbbbbbbbbbbbbbbb && ccccccccccccccccccc; After: return aaaaaaaaaaaaaaaaaaa && bbbbbbbbbbbbbbbbbbb && ccccccccccccccccccc; Patch by Harry Terkelsen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222424 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/ContinuationIndenter.cpp b/lib/Format/ContinuationIndenter.cpp index 24680ae76c..40b50dde85 100644 --- a/lib/Format/ContinuationIndenter.cpp +++ b/lib/Format/ContinuationIndenter.cpp @@ -740,7 +740,8 @@ void ContinuationIndenter::moveStatePastFakeLParens(LineState &State, // a builder type call after 'return' or, if the alignment after opening // brackets is disabled. if (!Current.isTrailingComment() && - (!Previous || Previous->isNot(tok::kw_return) || *I > 0) && + (!Previous || Previous->isNot(tok::kw_return) || + (Style.Language != FormatStyle::LK_Java && *I > 0)) && (Style.AlignAfterOpenBracket || *I != prec::Comma || Current.NestingLevel == 0)) NewParenState.Indent = diff --git a/unittests/Format/FormatTestJava.cpp b/unittests/Format/FormatTestJava.cpp index 94070f46a0..cb96756e3d 100644 --- a/unittests/Format/FormatTestJava.cpp +++ b/unittests/Format/FormatTestJava.cpp @@ -302,5 +302,20 @@ TEST_F(FormatTestJava, CppKeywords) { verifyFormat("public void delete(Object o);"); } +TEST_F(FormatTestJava, NeverAlignAfterReturn) { + verifyFormat("return aaaaaaaaaaaaaaaaaaa\n" + " && bbbbbbbbbbbbbbbbbbb\n" + " && ccccccccccccccccccc;", + getStyleWithColumns(40)); + verifyFormat("return (result == null)\n" + " ? aaaaaaaaaaaaaaaaa\n" + " : bbbbbbbbbbbbbbbbb;", + getStyleWithColumns(40)); + verifyFormat("return aaaaaaaaaaaaaaaaaaa()\n" + " .bbbbbbbbbbbbbbbbbbb()\n" + " .ccccccccccccccccccc();", + getStyleWithColumns(40)); +} + } // end namespace tooling } // end namespace clang