]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Don't align after "return".
authorDaniel Jasper <djasper@google.com>
Thu, 20 Nov 2014 09:54:49 +0000 (09:54 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 20 Nov 2014 09:54:49 +0000 (09:54 +0000)
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

lib/Format/ContinuationIndenter.cpp
unittests/Format/FormatTestJava.cpp

index 24680ae76ca845f493aab1d65e2c6260249cbc35..40b50dde85188c377dd473c666b95974e5f2c70e 100644 (file)
@@ -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 =
index 94070f46a0634cb1674221b1a61d22dc7134332d..cb96756e3d37275f84e65281a68ad68011bcd47b 100644 (file)
@@ -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