]> granicus.if.org Git - clang/commitdiff
clang-format: Fix ObjC method expr in binary expressions.
authorDaniel Jasper <djasper@google.com>
Wed, 18 Dec 2013 07:08:51 +0000 (07:08 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 18 Dec 2013 07:08:51 +0000 (07:08 +0000)
Before:
  bool a = ([aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaa || [aaaaaaaa aaaaa] ==
                                                         aaaaaaaaaaaaaaaaaaaa);

After:
  bool a = ([aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaa ||
            [aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaaaaa);

This fixes llvm.org/PR18271.

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

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index db071f101e46d1c4cee2da2348c08b291c232de6..6135783557ebbd661ce40d68a3837e23ef2a1ada 100644 (file)
@@ -1144,7 +1144,7 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line,
     return 0;
   if (Left.is(tok::comma))
     return 1;
-  if (Right.is(tok::l_square))
+  if (Right.is(tok::l_square) && Right.Type != TT_ObjCMethodExpr)
     return 250;
 
   if (Right.Type == TT_StartOfName || Right.is(tok::kw_operator)) {
index b6c96041469018c90bb549ef733b45f37c671ace..436a1f6d52b31d286c83117499e2e216ae176cbf 100644 (file)
@@ -5707,6 +5707,8 @@ TEST_F(FormatTest, FormatObjCMethodExpr) {
   verifyFormat("[self // break\n"
                "      a:a\n"
                "    aaa:aaa];");
+  verifyFormat("bool a = ([aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaa ||\n"
+               "          [aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaaaaa);");
 }
 
 TEST_F(FormatTest, ObjCAt) {