From: Daniel Jasper Date: Thu, 12 Mar 2015 22:13:45 +0000 (+0000) Subject: clang-format: [OBJC] Don't indent 8 spaces in method declarations. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e187547b722ada5d87a4c53ed61dd1b64775b6bc;p=clang clang-format: [OBJC] Don't indent 8 spaces in method declarations. 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 --- diff --git a/lib/Format/ContinuationIndenter.cpp b/lib/Format/ContinuationIndenter.cpp index 15fc07f62e..9fb0efe952 100644 --- a/lib/Format/ContinuationIndenter.cpp +++ b/lib/Format/ContinuationIndenter.cpp @@ -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(); diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 34eb4bfe91..d6ca57f304 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -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"