forked from OSchip/llvm-project
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. llvm-svn: 197980
This commit is contained in:
parent
ce3721057d
commit
234379fbf6
|
@ -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 " {".
|
||||
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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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, FormatsWithWebKitStyle) {
|
|||
" : aaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaa)\n"
|
||||
" , aaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaa, // break\n"
|
||||
" aaaaaaaaaaaaaa)\n"
|
||||
" , aaaaaaaaaaaaaaaaaaaaaaa() {}",
|
||||
Style);
|
||||
verifyFormat("SomeClass::Constructor()\n"
|
||||
" : a(a) {}",
|
||||
" , aaaaaaaaaaaaaaaaaaaaaaa()\n"
|
||||
"{\n"
|
||||
"}",
|
||||
Style);
|
||||
verifyFormat("SomeClass::Constructor()\n"
|
||||
" : a(a)\n"
|
||||
" , b(b)\n"
|
||||
" , c(c) {}",
|
||||
"{\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)\n"
|
||||
"{\n"
|
||||
"}", Style);
|
||||
verifyFormat("SomeClass::Constructor()\n"
|
||||
" : a(a)\n"
|
||||
"{\n"
|
||||
|
|
Loading…
Reference in New Issue