Skip to content

Commit 10c728b

Browse files
committed
Update findWhereAssignExecuted to return commas also
1 parent ee9d6e6 commit 10c728b

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

VariableAnalysis/Sniffs/CodeAnalysis/VariableAnalysisSniff.php

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -566,26 +566,22 @@ protected function findWhereAssignExecuted(
566566
// the closing bracket, if that's first.
567567
// eg: echo (($var = 12) && ($var == 12));
568568
$semicolonPtr = $phpcsFile->findNext(T_SEMICOLON, $stackPtr + 1, null, false, null, true);
569+
$commaPtr = $phpcsFile->findNext(T_COMMA, $stackPtr + 1, null, false, null, true);
569570
$closePtr = false;
570571
if (($openPtr = $this->findContainingBrackets($phpcsFile, $stackPtr)) !== false) {
571572
if (isset($tokens[$openPtr]['parenthesis_closer'])) {
572573
$closePtr = $tokens[$openPtr]['parenthesis_closer'];
573574
}
574575
}
575576

576-
if ($semicolonPtr === false) {
577-
if ($closePtr === false) {
578-
// TODO: panic
579-
return $stackPtr;
580-
}
581-
return $closePtr;
582-
}
583-
584-
if ($closePtr < $semicolonPtr) {
585-
return $closePtr;
577+
// Return the first thing: comma, semicolon, close-bracket, or stackPtr if nothing else
578+
$assignEndTokens = [$commaPtr, $semicolonPtr, $closePtr];
579+
$assignEndTokens = array_filter($assignEndTokens); // remove false values
580+
sort($assignEndTokens);
581+
if (empty($assignEndTokens)) {
582+
return $stackPtr;
586583
}
587-
588-
return $semicolonPtr;
584+
return $assignEndTokens[0];
589585
}
590586

591587
protected function findContainingBrackets(

0 commit comments

Comments
 (0)