]> granicus.if.org Git - clang/commitdiff
clang-format: Properly indent method calls without inputs.
authorDaniel Jasper <djasper@google.com>
Wed, 6 May 2015 12:48:06 +0000 (12:48 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 6 May 2015 12:48:06 +0000 (12:48 +0000)
Before:
  [aaaaaaaaaaa
          aaaaaaa];

After:
  [aaaaaaaaaaa
      aaaaaaa];

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

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

index 44b86a76ef231b843047f8e28c2bf155ed36bf8e..83f719bd1c906c8d2106e1f3b553a88af08de457 100644 (file)
@@ -584,10 +584,12 @@ unsigned ContinuationIndenter::getNewLineColumn(const LineState &State) {
       return State.Stack.back().StartOfArraySubscripts;
     return ContinuationIndent;
   }
+  if (NextNonComment->is(TT_StartOfName) && NextNonComment->Next &&
+      NextNonComment->Next->is(TT_ObjCMethodExpr))
+    return State.Stack.back().Indent;
   if (NextNonComment->isOneOf(TT_StartOfName, TT_PointerOrReference) ||
-      Previous.isOneOf(tok::coloncolon, tok::equal)) {
+      Previous.isOneOf(tok::coloncolon, tok::equal))
     return ContinuationIndent;
-  }
   if (PreviousNonComment && PreviousNonComment->is(tok::colon) &&
       PreviousNonComment->isOneOf(TT_ObjCMethodExpr, TT_DictLiteral))
     return ContinuationIndent;
index ea15312eb5c72d5f3a191843c4a1adbbfc2e1fd1..c0441495b8b34465684e6c0925ff42a9086b665f 100644 (file)
@@ -7144,6 +7144,8 @@ TEST_F(FormatTest, FormatObjCMethodExpr) {
                "             fraction:1.0\n"
                "       respectFlipped:NO\n"
                "                hints:nil];");
+  verifyFormat("[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
+               "    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa];");
 
   verifyFormat(
       "scoped_nsobject<NSTextField> message(\n"