r189655 - clang-format: Fix corner case in builder-type calls.
Daniel Jasper
djasper at google.com
Fri Aug 30 00:12:40 PDT 2013
Author: djasper
Date: Fri Aug 30 02:12:40 2013
New Revision: 189655
URL: http://llvm.org/viewvc/llvm-project?rev=189655&view=rev
Log:
clang-format: Fix corner case in builder-type calls.
Before:
aaaaaaaaaaaaa->aaaaaaaaaaaaaaaaaaaaaaaa()->aaaaaaaaaaaaaae(
0)->aaaaaaaaaaaaaaa();
After:
aaaaaaaaaaaaa->aaaaaaaaaaaaaaaaaaaaaaaa()
->aaaaaaaaaaaaaae(0)
->aaaaaaaaaaaaaaa();
Modified:
cfe/trunk/lib/Format/ContinuationIndenter.cpp
cfe/trunk/unittests/Format/FormatTest.cpp
Modified: cfe/trunk/lib/Format/ContinuationIndenter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/ContinuationIndenter.cpp?rev=189655&r1=189654&r2=189655&view=diff
==============================================================================
--- cfe/trunk/lib/Format/ContinuationIndenter.cpp (original)
+++ cfe/trunk/lib/Format/ContinuationIndenter.cpp Fri Aug 30 02:12:40 2013
@@ -187,7 +187,9 @@ bool ContinuationIndenter::mustBreak(con
State.ParenLevel == 0)
return true;
if (startsSegmentOfBuilderTypeCall(Current) &&
- State.Stack.back().CallContinuation != 0)
+ (State.Stack.back().CallContinuation != 0 ||
+ (State.Stack.back().BreakBeforeParameter &&
+ State.Stack.back().ContainsUnwrappedBuilder)))
return true;
return false;
}
Modified: cfe/trunk/unittests/Format/FormatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=189655&r1=189654&r2=189655&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTest.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTest.cpp Fri Aug 30 02:12:40 2013
@@ -2890,6 +2890,9 @@ TEST_F(FormatTest, FormatsBuilderPattern
verifyFormat("aaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa()\n"
" .aaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa()\n"
" .aaaaaaaaaaaaaaa();");
+ verifyFormat("aaaaaaaaaaaaa->aaaaaaaaaaaaaaaaaaaaaaaa()\n"
+ " ->aaaaaaaaaaaaaae(0)\n"
+ " ->aaaaaaaaaaaaaaa();");
}
TEST_F(FormatTest, BreaksAccordingToOperatorPrecedence) {
More information about the cfe-commits
mailing list