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

getDynamismForTokens() private method

private getDynamismForTokens ( array $sideTokens ) : integer | null
$sideTokens array
return integer | null
    private function getDynamismForTokens(array $sideTokens)
    {
        $dynamism = $this->getTokenDynamism();
        $sideTokens = array_values(array_filter($sideTokens, function (array $token) {
            return !in_array($token['code'], [T_WHITESPACE, T_COMMENT, T_DOC_COMMENT, T_NS_SEPARATOR, T_PLUS, T_MINUS], true);
        }));
        if (count($sideTokens) > 0) {
            if ($sideTokens[0]['code'] === T_VARIABLE) {
                // expression starts with a variable - wins over everything else
                return self::DYNAMISM_VARIABLE;
            } elseif ($sideTokens[count($sideTokens) - 1]['code'] === T_CLOSE_PARENTHESIS) {
                // function or method call
                return self::DYNAMISM_FUNCTION_CALL;
            } elseif (count($sideTokens) === 1 && $sideTokens[0]['code'] === T_STRING) {
                // constant
                return self::DYNAMISM_CONSTANT;
            }
        }
        if (count($sideTokens) > 2) {
            if ($sideTokens[count($sideTokens) - 2]['code'] === T_DOUBLE_COLON) {
                if ($sideTokens[count($sideTokens) - 1]['code'] === T_VARIABLE) {
                    // static property access
                    return self::DYNAMISM_VARIABLE;
                } elseif ($sideTokens[count($sideTokens) - 1]['code'] === T_STRING) {
                    // class constant
                    return self::DYNAMISM_CONSTANT;
                }
            }
        }
        if (isset($sideTokens[0]) && isset($dynamism[$sideTokens[0]['code']])) {
            return $dynamism[$sideTokens[0]['code']];
        }
        return null;
    }