SlevomatCodingStandard\Sniffs\ControlStructures\YodaComparisonSniff::process PHP Method

process() public method

public process ( PHP_CodeSniffer_File $phpcsFile, integer $comparisonTokenPointer )
$phpcsFile PHP_CodeSniffer_File
$comparisonTokenPointer integer
    public function process(\PHP_CodeSniffer_File $phpcsFile, $comparisonTokenPointer)
    {
        $tokens = $phpcsFile->getTokens();
        $leftSideTokens = $this->getLeftSideTokens($phpcsFile, $tokens, $comparisonTokenPointer);
        $rightSideTokens = $this->getRightSideTokens($phpcsFile, $tokens, $comparisonTokenPointer);
        $leftDynamism = $this->getDynamismForTokens($leftSideTokens);
        $rightDynamism = $this->getDynamismForTokens($rightSideTokens);
        if ($leftDynamism !== null) {
            if ($rightDynamism === null || $leftDynamism < $rightDynamism) {
                $fix = $phpcsFile->addFixableError('Yoda comparisons are prohibited.', $comparisonTokenPointer, self::CODE_YODA_COMPARISON);
                if ($fix) {
                    if (count($leftSideTokens) > 0 & count($rightSideTokens) > 0) {
                        $phpcsFile->fixer->beginChangeset();
                        $this->write($phpcsFile, $leftSideTokens, $rightSideTokens);
                        $this->write($phpcsFile, $rightSideTokens, $leftSideTokens);
                        $phpcsFile->fixer->endChangeset();
                    }
                }
            }
        }
    }