From dd5183189b219656967247579a21c98f69431dae Mon Sep 17 00:00:00 2001 From: Anastasiia Sherekina Date: Thu, 19 Mar 2026 16:19:08 +0200 Subject: [PATCH] fix WhiteSpaceAroundControlStatementSniff --- .../Formatting/WhiteSpaceAroundControlStatementSniff.php | 2 +- .../Formatting/WhiteSpaceAroundMultilineArraySniff.php | 4 ++-- .../white-space-around-control-statement/success.php | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundControlStatementSniff.php b/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundControlStatementSniff.php index 01add38..50469e2 100644 --- a/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundControlStatementSniff.php +++ b/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundControlStatementSniff.php @@ -43,7 +43,7 @@ class WhiteSpaceAroundControlStatementSniff implements Sniff T_WHILE => [T_DO], T_MATCH => [T_OPEN_SHORT_ARRAY, T_CLOSE_SHORT_ARRAY, T_COMMA], T_BREAK => [T_CLOSE_CURLY_BRACKET], - T_CONTINUE => [T_CLOSE_CURLY_BRACKET], + T_CONTINUE => [T_CLOSE_CURLY_BRACKET, T_WHITESPACE, T_LNUMBER], ]; public function register(): array diff --git a/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundMultilineArraySniff.php b/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundMultilineArraySniff.php index 074147e..9ae0d46 100644 --- a/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundMultilineArraySniff.php +++ b/src/PhpCs/FiveLab/Sniffs/Formatting/WhiteSpaceAroundMultilineArraySniff.php @@ -61,7 +61,7 @@ public function process(File $phpcsFile, mixed $stackPtr): void $diffLinesBefore = PhpCsUtils::getDiffLines($phpcsFile, (int) $prevTokenPtr, (int) $firstTokenOnOpenerLinePtr); $possiblePrevTokens = [T_COLON, T_OPEN_CURLY_BRACKET]; - if (!\in_array($prevToken['code'], $possiblePrevTokens, true) && $diffLinesBefore < 2) { + if ($diffLinesBefore < 2 && !\in_array($prevToken['code'], $possiblePrevTokens, true)) { $phpcsFile->addError( 'Must be one blank line before multiline array creation.', $openerTokenPtr, @@ -77,7 +77,7 @@ public function process(File $phpcsFile, mixed $stackPtr): void $diffLinesAfter = PhpCsUtils::getDiffLines($phpcsFile, $semicolonPtr, $nextTokenPtr); $possibleNextTokens = [T_CLOSE_CURLY_BRACKET, T_BREAK]; - if (!\in_array($nextToken['code'], $possibleNextTokens, true) && $diffLinesAfter < 2) { + if ($diffLinesAfter < 2 && !\in_array($nextToken['code'], $possibleNextTokens, true)) { $phpcsFile->addError( 'Must be one blank line after multiline array creation.', $semicolonPtr, diff --git a/tests/PhpCs/FiveLab/Sniffs/Formatting/Resources/white-space-around-control-statement/success.php b/tests/PhpCs/FiveLab/Sniffs/Formatting/Resources/white-space-around-control-statement/success.php index 1d4cc27..8b41477 100644 --- a/tests/PhpCs/FiveLab/Sniffs/Formatting/Resources/white-space-around-control-statement/success.php +++ b/tests/PhpCs/FiveLab/Sniffs/Formatting/Resources/white-space-around-control-statement/success.php @@ -115,3 +115,9 @@ continue; } + +for ($i = 0; $i < 10; $i++) { + $someArray[] = $i; + + continue 2; +}