]> granicus.if.org Git - clang/commitdiff
clang-format: Improve array literal formatting fix in r206161.
authorDaniel Jasper <djasper@google.com>
Mon, 14 Apr 2014 12:11:07 +0000 (12:11 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 14 Apr 2014 12:11:07 +0000 (12:11 +0000)
Instead of choosing based on the number of elements, simply respect the
user's choice of where to wrap array literals.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206162 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/ContinuationIndenter.cpp
unittests/Format/FormatTest.cpp

index 43997f99576ab3fb8abb24731d5214db6c1e355a..0ad8c1eb419053b3537fc033f7ca2e7de041d1a8 100644 (file)
@@ -142,7 +142,7 @@ bool ContinuationIndenter::mustBreak(const LineState &State) {
     return true;
   if (((Previous.Type == TT_DictLiteral && Previous.is(tok::l_brace)) ||
        Previous.Type == TT_ArrayInitializerLSquare) &&
-      (Style.ColumnLimit > 0 || Previous.ParameterCount > 1) &&
+      Style.ColumnLimit > 0 &&
       getLengthToMatchingParen(Previous) + State.Column > getColumnLimit(State))
     return true;
   if (Current.Type == TT_CtorInitializerColon &&
index 7bae21b89e6c3660082aea4419721a20534c2509..f829dccbe982872fcf4e9642c28c26b689960bc9 100644 (file)
@@ -8156,12 +8156,21 @@ TEST_F(FormatTest, FormatsWithWebKitStyle) {
   verifyFormat("NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\" ]\n"
                "                                  copyItems:YES];",
                Style);
-  verifyFormat("NSArray* a = [[NSArray alloc] initWithArray:@[\n"
-               "                                               @\"a\",\n"
-               "                                               @\"a\"\n"
-               "                                            ]\n"
-               "                                  copyItems:YES];",
-               Style);
+  EXPECT_EQ("NSArray* a = [[NSArray alloc] initWithArray:@[\n"
+            "                                               @\"a\",\n"
+            "                                               @\"a\"\n"
+            "                                            ]\n"
+            "                                  copyItems:YES];",
+            format("NSArray* a = [[NSArray alloc] initWithArray:@[\n"
+                   "     @\"a\",\n"
+                   "     @\"a\"\n"
+                   "     ]\n"
+                   "       copyItems:YES];",
+                   Style));
+  verifyFormat(
+      "NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\", @\"a\" ]\n"
+      "                                  copyItems:YES];",
+      Style);
 }
 
 TEST_F(FormatTest, FormatsLambdas) {