Skip to content

Commit

Permalink
Update findWhereAssignExecuted to return commas also
Browse files Browse the repository at this point in the history
  • Loading branch information
sirbrillig committed Dec 13, 2017
1 parent ee9d6e6 commit 10c728b
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions VariableAnalysis/Sniffs/CodeAnalysis/VariableAnalysisSniff.php
Original file line number Diff line number Diff line change
@@ -566,26 +566,22 @@ protected function findWhereAssignExecuted(
// the closing bracket, if that's first.
// eg: echo (($var = 12) && ($var == 12));
$semicolonPtr = $phpcsFile->findNext(T_SEMICOLON, $stackPtr + 1, null, false, null, true);
$commaPtr = $phpcsFile->findNext(T_COMMA, $stackPtr + 1, null, false, null, true);
$closePtr = false;
if (($openPtr = $this->findContainingBrackets($phpcsFile, $stackPtr)) !== false) {
if (isset($tokens[$openPtr]['parenthesis_closer'])) {
$closePtr = $tokens[$openPtr]['parenthesis_closer'];
}
}

if ($semicolonPtr === false) {
if ($closePtr === false) {
// TODO: panic
return $stackPtr;
}
return $closePtr;
}

if ($closePtr < $semicolonPtr) {
return $closePtr;
// Return the first thing: comma, semicolon, close-bracket, or stackPtr if nothing else
$assignEndTokens = [$commaPtr, $semicolonPtr, $closePtr];
$assignEndTokens = array_filter($assignEndTokens); // remove false values
sort($assignEndTokens);
if (empty($assignEndTokens)) {
return $stackPtr;
}

return $semicolonPtr;
return $assignEndTokens[0];
}

protected function findContainingBrackets(

0 comments on commit 10c728b

Please sign in to comment.