r197980 - clang-format: (WebKit) Disallow 1-line constructors with initializers.
Daniel Jasper
djasper at google.com
Fri Dec 27 01:47:01 PST 2013
Because that is handled by the inner function as usual..
On Dec 27, 2013 10:21 AM, "Manuel Klimek" <klimek at google.com> wrote:
> On Tue, Dec 24, 2013 at 2:31 PM, Daniel Jasper <djasper at google.com> wrote:
>
>> Author: djasper
>> Date: Tue Dec 24 07:31:25 2013
>> New Revision: 197980
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=197980&view=rev
>> Log:
>> clang-format: (WebKit) Disallow 1-line constructors with initializers.
>>
>> Before:
>> Constructor() : a(a) {}
>>
>> After:
>> Constructor()
>> : a(a)
>> {
>> }
>>
>> This style guide is pretty precise about this.
>>
>> Modified:
>> cfe/trunk/lib/Format/Format.cpp
>> cfe/trunk/unittests/Format/FormatTest.cpp
>>
>> Modified: cfe/trunk/lib/Format/Format.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=197980&r1=197979&r2=197980&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Format/Format.cpp (original)
>> +++ cfe/trunk/lib/Format/Format.cpp Tue Dec 24 07:31:25 2013
>> @@ -480,7 +480,7 @@ public:
>> SmallVectorImpl<AnnotatedLine
>> *>::const_iterator I,
>> SmallVectorImpl<AnnotatedLine
>> *>::const_iterator E) {
>> // We can never merge stuff if there are trailing line comments.
>> - AnnotatedLine *TheLine = *I;
>> + const AnnotatedLine *TheLine = *I;
>> if (TheLine->Last->Type == TT_LineComment)
>> return 0;
>>
>> @@ -498,7 +498,8 @@ public:
>> if (I + 1 == E || I[1]->Type == LT_Invalid)
>> return 0;
>>
>> - if (TheLine->Last->Type == TT_FunctionLBrace) {
>> + if (TheLine->Last->Type == TT_FunctionLBrace &&
>> + TheLine->First != TheLine->Last) {
>> return Style.AllowShortFunctionsOnASingleLine
>> ? tryMergeSimpleBlock(I, E, Limit)
>> : 0;
>> @@ -510,9 +511,11 @@ public:
>> }
>> if (I[1]->First->Type == TT_FunctionLBrace &&
>> Style.BreakBeforeBraces != FormatStyle::BS_Attach) {
>> - // Reduce the column limit by the number of spaces we need to
>> insert
>> - // around braces.
>> - Limit = Limit > 3 ? Limit - 3 : 0;
>> + // Check for Limit <= 2 to accomodate for the " {".
>>
>
> So why don't we need to account for the full " { "?
>
>
>> + if (Limit <= 2 || (Style.ColumnLimit == 0 &&
>> containsMustBreak(TheLine)))
>> + return 0;
>> + Limit -= 2;
>> +
>> unsigned MergedLines = 0;
>> if (Style.AllowShortFunctionsOnASingleLine) {
>> MergedLines = tryMergeSimpleBlock(I + 1, E, Limit);
>> @@ -641,6 +644,14 @@ private:
>> return 1 + I[1]->Last->TotalLength + 1 + I[2]->Last->TotalLength <=
>> Limit;
>> }
>>
>> + bool containsMustBreak(const AnnotatedLine *Line) {
>> + for (const FormatToken *Tok = Line->First; Tok; Tok = Tok->Next) {
>> + if (Tok->MustBreakBefore)
>> + return true;
>> + }
>> + return false;
>> + }
>> +
>> const FormatStyle &Style;
>> };
>>
>>
>> Modified: cfe/trunk/unittests/Format/FormatTest.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=197980&r1=197979&r2=197980&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/unittests/Format/FormatTest.cpp (original)
>> +++ cfe/trunk/unittests/Format/FormatTest.cpp Tue Dec 24 07:31:25 2013
>> @@ -6997,6 +6997,16 @@ TEST_F(FormatTest, AllmanBraceBreaking)
>> "}\n",
>> BreakBeforeBrace);
>>
>> + BreakBeforeBrace.ColumnLimit = 19;
>> + verifyFormat("void f() { int i; }", BreakBeforeBrace);
>> + BreakBeforeBrace.ColumnLimit = 18;
>> + verifyFormat("void f()\n"
>> + "{\n"
>> + " int i;\n"
>> + "}",
>> + BreakBeforeBrace);
>> + BreakBeforeBrace.ColumnLimit = 80;
>> +
>> FormatStyle BreakBeforeBraceShortIfs = BreakBeforeBrace;
>> BreakBeforeBraceShortIfs.AllowShortIfStatementsOnASingleLine = true;
>> BreakBeforeBraceShortIfs.AllowShortLoopsOnASingleLine = true;
>> @@ -7716,16 +7726,26 @@ TEST_F(FormatTest, FormatsWithWebKitStyl
>> " :
>> aaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaa)\n"
>> " , aaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaa, //
>> break\n"
>> " aaaaaaaaaaaaaa)\n"
>> - " , aaaaaaaaaaaaaaaaaaaaaaa() {}",
>> + " , aaaaaaaaaaaaaaaaaaaaaaa()\n"
>> + "{\n"
>> + "}",
>> Style);
>> verifyFormat("SomeClass::Constructor()\n"
>> - " : a(a) {}",
>> + " : a(a)\n"
>> + "{\n"
>> + "}",
>> Style);
>> + EXPECT_EQ("SomeClass::Constructor()\n"
>> + " : a(a)\n"
>> + "{\n"
>> + "}",
>> + format("SomeClass::Constructor():a(a){}", Style));
>> verifyFormat("SomeClass::Constructor()\n"
>> " : a(a)\n"
>> " , b(b)\n"
>> - " , c(c) {}",
>> - Style);
>> + " , c(c)\n"
>> + "{\n"
>> + "}", Style);
>> verifyFormat("SomeClass::Constructor()\n"
>> " : a(a)\n"
>> "{\n"
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131227/172a931d/attachment.html>
More information about the cfe-commits
mailing list