]> granicus.if.org Git - clang/commitdiff
clang-format: [OBJC] Don't indent 8 spaces in method declarations.
authorDaniel Jasper <djasper@google.com>
Thu, 12 Mar 2015 22:13:45 +0000 (22:13 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 12 Mar 2015 22:13:45 +0000 (22:13 +0000)
Before:
  - (void)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
          (SoooooooooooooooooooooomeType *)bbbbbbbbbb;

After:
  - (void)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
      (SoooooooooooooooooooooomeType *)bbbbbbbbbb;

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

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

index 15fc07f62eb717f9ebd1a1814ebe90f1e54fb91b..9fb0efe9523aa941756ce8b085e1768f20a26419 100644 (file)
@@ -307,7 +307,9 @@ void ContinuationIndenter::addTokenOnCurrentLine(LineState &State, bool DryRun,
     else if (State.Stack.back().Indent + Current.LongestObjCSelectorName >
              State.Column + Spaces + Current.ColumnWidth)
       State.Stack.back().ColonPos =
-          State.Stack.back().Indent + Current.LongestObjCSelectorName;
+          std::max(State.FirstIndent + Style.ContinuationIndentWidth,
+                   State.Stack.back().Indent) +
+          Current.LongestObjCSelectorName;
     else
       State.Stack.back().ColonPos = State.Column + Spaces + Current.ColumnWidth;
   }
@@ -648,12 +650,6 @@ unsigned ContinuationIndenter::moveStateToNextToken(LineState &State,
     State.Stack.back().BreakBeforeParameter = false;
   }
 
-  // In ObjC method declaration we align on the ":" of parameters, but we need
-  // to ensure that we indent parameters on subsequent lines by at least our
-  // continuation indent width.
-  if (Current.is(TT_ObjCMethodSpecifier))
-    State.Stack.back().Indent += Style.ContinuationIndentWidth;
-
   // Insert scopes created by fake parenthesis.
   const FormatToken *Previous = Current.getPreviousNonComment();
 
index 34eb4bfe916d0bf2b22be603652b8a89a6081e59..d6ca57f3047e78b4b0d3c0c21ec3a37c2cd9d717 100644 (file)
@@ -6627,6 +6627,8 @@ TEST_F(FormatTest, FormatForObjectiveCMethodDecls) {
           "- (void)sendAction:(SEL)aSelector to:(id)anObject forAllCells:(BOOL)flag;"));
 
   // Very long objectiveC method declaration.
+  verifyFormat("- (void)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:\n"
+               "    (SoooooooooooooooooooooomeType *)bbbbbbbbbb;");
   verifyFormat("- (NSUInteger)indexOfObject:(id)anObject\n"
                "                    inRange:(NSRange)range\n"
                "                   outRange:(NSRange)out_range\n"