diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/Format/DefinitionBlockSeparator.cpp')
-rw-r--r-- | contrib/llvm-project/clang/lib/Format/DefinitionBlockSeparator.cpp | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/contrib/llvm-project/clang/lib/Format/DefinitionBlockSeparator.cpp b/contrib/llvm-project/clang/lib/Format/DefinitionBlockSeparator.cpp index cfb019a471dc..f6edcd13ecd6 100644 --- a/contrib/llvm-project/clang/lib/Format/DefinitionBlockSeparator.cpp +++ b/contrib/llvm-project/clang/lib/Format/DefinitionBlockSeparator.cpp @@ -45,8 +45,9 @@ void DefinitionBlockSeparator::separateBlocks( auto LikelyDefinition = [&](const AnnotatedLine *Line, bool ExcludeEnum = false) { if ((Line->MightBeFunctionDecl && Line->mightBeFunctionDefinition()) || - Line->startsWithNamespace()) + Line->startsWithNamespace()) { return true; + } int BracketLevel = 0; for (const FormatToken *CurrentToken = Line->First; CurrentToken; CurrentToken = CurrentToken->Next) { @@ -54,8 +55,9 @@ void DefinitionBlockSeparator::separateBlocks( if ((CurrentToken->isOneOf(tok::kw_class, tok::kw_struct, tok::kw_union) || (Style.isJavaScript() && - CurrentToken->is(ExtraKeywords.kw_function)))) + CurrentToken->is(ExtraKeywords.kw_function)))) { return true; + } if (!ExcludeEnum && CurrentToken->is(tok::kw_enum)) return true; } @@ -92,8 +94,9 @@ void DefinitionBlockSeparator::separateBlocks( return; if (IsAccessSpecifierToken(TargetToken) || (OpeningLineIndex > 0 && - IsAccessSpecifierToken(Lines[OpeningLineIndex - 1]->First))) + IsAccessSpecifierToken(Lines[OpeningLineIndex - 1]->First))) { return; + } if (!TargetLine->Affected) return; Whitespaces.replaceWhitespace(*TargetToken, NewlineToInsert, @@ -156,8 +159,9 @@ void DefinitionBlockSeparator::separateBlocks( if (NextLine->MightBeFunctionDecl && NextLine->mightBeFunctionDefinition() && NextLine->First->NewlinesBefore == 1 && - OperateLine->First->is(TT_FunctionLikeOrFreestandingMacro)) + OperateLine->First->is(TT_FunctionLikeOrFreestandingMacro)) { return true; + } } if ((Style.isCSharp() && OperateLine->First->is(TT_AttributeSquare))) @@ -183,10 +187,9 @@ void DefinitionBlockSeparator::separateBlocks( TargetToken = TargetLine->First; while (TargetToken && !TargetToken->is(tok::r_brace)) TargetToken = TargetToken->Next; - if (!TargetToken) { + if (!TargetToken) while (I < Lines.size() && !Lines[I]->First->is(tok::r_brace)) ++I; - } } else if (CurrentLine->First->closesScope()) { if (OpeningLineIndex > Lines.size()) continue; @@ -195,8 +198,9 @@ void DefinitionBlockSeparator::separateBlocks( // misrecognition. if (OpeningLineIndex > 0 && Lines[OpeningLineIndex]->First->is(tok::l_brace) && - Lines[OpeningLineIndex - 1]->Last->isNot(tok::l_brace)) + Lines[OpeningLineIndex - 1]->Last->isNot(tok::l_brace)) { --OpeningLineIndex; + } OpeningLine = Lines[OpeningLineIndex]; // Closing a function definition. if (LikelyDefinition(OpeningLine)) { @@ -210,8 +214,9 @@ void DefinitionBlockSeparator::separateBlocks( // Avoid duplicated replacement. if (TargetToken->isNot(tok::l_brace)) InsertReplacement(NewlineCount); - } else if (IsNeverStyle) + } else if (IsNeverStyle) { InsertReplacement(OpeningLineIndex != 0); + } } } @@ -227,8 +232,9 @@ void DefinitionBlockSeparator::separateBlocks( if (!TargetToken->closesScope() && !IsPPConditional(OpeningLineIndex)) { // Check whether current line may precede a definition line. while (OpeningLineIndex + 1 < Lines.size() && - MayPrecedeDefinition(/*Direction=*/0)) + MayPrecedeDefinition(/*Direction=*/0)) { ++OpeningLineIndex; + } TargetLine = Lines[OpeningLineIndex]; if (!LikelyDefinition(TargetLine)) { OpeningLineIndex = I + 1; @@ -236,16 +242,18 @@ void DefinitionBlockSeparator::separateBlocks( TargetToken = TargetLine->First; InsertReplacement(NewlineCount); } - } else if (IsNeverStyle) + } else if (IsNeverStyle) { InsertReplacement(/*NewlineToInsert=*/1); + } } } - for (const auto &R : Whitespaces.generateReplacements()) + for (const auto &R : Whitespaces.generateReplacements()) { // The add method returns an Error instance which simulates program exit // code through overloading boolean operator, thus false here indicates // success. if (Result.add(R)) return; + } } } // namespace format } // namespace clang |