Skip to content

Commit 68bb4dc

Browse files
authored
Merge pull request #296 from PHPCSStandards/feature/generic-arbitraryparenthesesspacing-bugfix
Generic/ArbitraryParenthesesSpacing: improve handling of switch-case scope closers
2 parents fda00a0 + 3527d83 commit 68bb4dc

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

src/Standards/Generic/Sniffs/WhiteSpace/ArbitraryParenthesesSpacingSniff.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ public function process(File $phpcsFile, $stackPtr)
103103
$preOpener = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($opener - 1), null, true);
104104
if ($preOpener !== false
105105
&& isset($this->ignoreTokens[$tokens[$preOpener]['code']]) === true
106-
&& isset($tokens[$preOpener]['scope_condition']) === false
106+
&& ($tokens[$preOpener]['code'] !== T_CLOSE_CURLY_BRACKET
107+
|| isset($tokens[$preOpener]['scope_condition']) === false )
107108
) {
108109
// Function or language construct call.
109110
return;

src/Standards/Generic/Tests/WhiteSpace/ArbitraryParenthesesSpacingUnitTest.1.inc

+10
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,13 @@ class NonArbitraryParenthesesWithKeywords {
180180
$b = match ( $a ) {
181181
1 => true,
182182
};
183+
184+
// Parentheses after die/exit in a switch case should be ignored.
185+
switch ( $type ) {
186+
case A:
187+
exit( 1 );
188+
case B:
189+
die();
190+
default:
191+
break;
192+
}

src/Standards/Generic/Tests/WhiteSpace/ArbitraryParenthesesSpacingUnitTest.1.inc.fixed

+10
Original file line numberDiff line numberDiff line change
@@ -168,3 +168,13 @@ class NonArbitraryParenthesesWithKeywords {
168168
$b = match ( $a ) {
169169
1 => true,
170170
};
171+
172+
// Parentheses after die/exit in a switch case should be ignored.
173+
switch ( $type ) {
174+
case A:
175+
exit( 1 );
176+
case B:
177+
die();
178+
default:
179+
break;
180+
}

0 commit comments

Comments
 (0)