Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. UnusedVariableSniff.php

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

UnusedVariableSniff

Namespace

SlevomatCodingStandard\Sniffs\Variables

Code

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;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal