function UnusedVariableSniff::isDefinedInDoConditionAndUsedInLoop
1 call to UnusedVariableSniff::isDefinedInDoConditionAndUsedInLoop()
- 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 344
Class
Namespace
SlevomatCodingStandard\Sniffs\VariablesCode
private function isDefinedInDoConditionAndUsedInLoop(File $phpcsFile, int $variablePointer, string $variableName) : bool {
$tokens = $phpcsFile->getTokens();
$parenthesisOpener = TokenHelper::findPrevious($phpcsFile, T_OPEN_PARENTHESIS, $variablePointer - 1);
if ($parenthesisOpener === null || $tokens[$parenthesisOpener]['parenthesis_closer'] < $variablePointer) {
return false;
}
$whilePointer = TokenHelper::findPreviousEffective($phpcsFile, $parenthesisOpener - 1);
if ($tokens[$whilePointer]['code'] !== T_WHILE) {
return false;
}
$loopCloserPointer = TokenHelper::findPreviousEffective($phpcsFile, $whilePointer - 1);
if ($tokens[$loopCloserPointer]['code'] !== T_CLOSE_CURLY_BRACKET) {
return false;
}
$doPointer = TokenHelper::findPreviousEffective($phpcsFile, $tokens[$loopCloserPointer]['bracket_opener'] - 1);
if ($tokens[$doPointer]['code'] !== T_DO) {
return false;
}
return TokenHelper::findNextContent($phpcsFile, T_VARIABLE, $variableName, $tokens[$loopCloserPointer]['bracket_opener'] + 1, $loopCloserPointer) !== null;
}