function UnusedVariableSniff::isUsedAsKeyOrValueInArray
1 call to UnusedVariableSniff::isUsedAsKeyOrValueInArray()
- UnusedVariableSniff::process in vendor/
slevomat/ coding-standard/ SlevomatCodingStandard/ Sniffs/ Variables/ UnusedVariableSniff.php - * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *
File
-
vendor/
slevomat/ coding-standard/ SlevomatCodingStandard/ Sniffs/ Variables/ UnusedVariableSniff.php, line 480
Class
Namespace
SlevomatCodingStandard\Sniffs\VariablesCode
private function isUsedAsKeyOrValueInArray(File $phpcsFile, int $variablePointer) : bool {
$tokens = $phpcsFile->getTokens();
$squareBracketOpenerPointer = TokenHelper::findPrevious($phpcsFile, T_OPEN_SQUARE_BRACKET, $variablePointer - 1);
if ($squareBracketOpenerPointer !== null && $tokens[$squareBracketOpenerPointer]['bracket_closer'] > $variablePointer) {
return true;
}
$arrayOpenerPointer = TokenHelper::findPrevious($phpcsFile, T_OPEN_SHORT_ARRAY, $variablePointer - 1);
if ($arrayOpenerPointer === null) {
return false;
}
$arrayCloserPointer = $tokens[$arrayOpenerPointer]['bracket_closer'];
if ($arrayCloserPointer < $variablePointer) {
return false;
}
$pointerAfterArrayCloser = TokenHelper::findNextEffective($phpcsFile, $arrayCloserPointer + 1);
if ($tokens[$pointerAfterArrayCloser]['code'] === T_EQUAL) {
return false;
}
$pointerBeforeVariable = TokenHelper::findPreviousEffective($phpcsFile, $variablePointer - 1);
if (in_array($tokens[$pointerBeforeVariable]['code'], [
T_INC,
T_DEC,
], true)) {
$pointerBeforeVariable = TokenHelper::findPreviousEffective($phpcsFile, $pointerBeforeVariable - 1);
}
return in_array($tokens[$pointerBeforeVariable]['code'], [
T_OPEN_SHORT_ARRAY,
T_COMMA,
T_DOUBLE_ARROW,
], true);
}