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

Breadcrumb

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

function AssignmentInConditionSniff::processCondition

1 call to AssignmentInConditionSniff::processCondition()
AssignmentInConditionSniff::process in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/AssignmentInConditionSniff.php
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/AssignmentInConditionSniff.php, line 68

Class

AssignmentInConditionSniff

Namespace

SlevomatCodingStandard\Sniffs\ControlStructures

Code

private function processCondition(File $phpcsFile, int $parenthesisOpener, int $parenthesisCloser, string $conditionType) : void {
    $equalsTokenPointers = TokenHelper::findNextAll($phpcsFile, T_EQUAL, $parenthesisOpener + 1, $parenthesisCloser);
    if ($equalsTokenPointers === []) {
        return;
    }
    if (!$this->ignoreAssignmentsInsideFunctionCalls) {
        $this->error($phpcsFile, $conditionType, $equalsTokenPointers[0]);
        return;
    }
    $tokens = $phpcsFile->getTokens();
    foreach ($equalsTokenPointers as $equalsTokenPointer) {
        $parenthesisStarts = array_keys($tokens[$equalsTokenPointer]['nested_parenthesis']);
        
        /** @var int $insideParenthesis */
        $insideParenthesis = max($parenthesisStarts);
        if ($insideParenthesis === $parenthesisOpener) {
            $this->error($phpcsFile, $conditionType, $equalsTokenPointer);
            continue;
        }
        $functionCall = TokenHelper::findPrevious($phpcsFile, TokenHelper::getOnlyNameTokenCodes(), $insideParenthesis, $parenthesisOpener);
        if ($functionCall !== null) {
            continue;
        }
        $this->error($phpcsFile, $conditionType, $equalsTokenPointer);
    }
}

API Navigation

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