Revert "[clang-format] Remove empty lines before }[;] // comment"

This reverts commit r327861.

The empty line before namespaces is desired in some places. We need a
better approach to handle this.

llvm-svn: 328621
This commit is contained in:
Krasimir Georgiev 2018-03-27 13:14:29 +00:00
parent 5f7ab4fedf
commit 03e69f5cb4
2 changed files with 3 additions and 19 deletions

View File

@ -1133,12 +1133,8 @@ void UnwrappedLineFormatter::formatFirstToken(const AnnotatedLine &Line,
std::min(RootToken.NewlinesBefore, Style.MaxEmptyLinesToKeep + 1);
// Remove empty lines before "}" where applicable.
if (RootToken.is(tok::r_brace) &&
// Look for "}", "} // comment", "};" or "}; // comment".
(!RootToken.Next ||
(RootToken.Next->is(tok::comment) && !RootToken.Next->Next) ||
(RootToken.Next->is(tok::semi) &&
(!RootToken.Next->Next || (RootToken.Next->Next->is(tok::comment) &&
!RootToken.Next->Next->Next)))))
(RootToken.Next->is(tok::semi) && !RootToken.Next->Next)))
Newlines = std::min(Newlines, 1u);
// Remove empty lines at the start of nested blocks (lambdas/arrow functions)
if (PreviousLine == nullptr && Line.Level > 0)

View File

@ -276,6 +276,7 @@ TEST_F(FormatTest, RemovesEmptyLines) {
"\n"
"}"));
// FIXME: This is slightly inconsistent.
FormatStyle LLVMWithNoNamespaceFix = getLLVMStyle();
LLVMWithNoNamespaceFix.FixNamespaceComments = false;
EXPECT_EQ("namespace {\n"
@ -294,25 +295,12 @@ TEST_F(FormatTest, RemovesEmptyLines) {
"}"));
EXPECT_EQ("namespace {\n"
"int i;\n"
"};",
format("namespace {\n"
"int i;\n"
"\n"
"};"));
EXPECT_EQ("namespace {\n"
"int i;\n"
"\n"
"} // namespace",
format("namespace {\n"
"int i;\n"
"\n"
"} // namespace"));
EXPECT_EQ("namespace {\n"
"int i;\n"
"}; // namespace",
format("namespace {\n"
"int i;\n"
"\n"
"}; // namespace"));
FormatStyle Style = getLLVMStyle();
Style.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_All;