PHPStan\Rules\Classes\UnusedConstructorParametersRule::processNode PHP Method

processNode() public method

public processNode ( PhpParser\Node $node, Scope $scope ) : array
$node PhpParser\Node
$scope PHPStan\Analyser\Scope
return array
    public function processNode(Node $node, Scope $scope) : array
    {
        if ($node->name !== '__construct') {
            return [];
        }
        $unusedParameters = [];
        foreach ($node->params as $parameter) {
            $unusedParameters[$parameter->name] = true;
        }
        foreach ($this->getUsedVariables($node) as $variableName) {
            if (isset($unusedParameters[$variableName])) {
                unset($unusedParameters[$variableName]);
            }
        }
        $errors = [];
        if ($scope->getClass() !== null) {
            $message = sprintf('Constructor of class %s has an unused parameter $%%s.', $scope->getClass());
        } else {
            $message = 'Constructor of an anonymous class has an unused parameter $%s.';
        }
        foreach ($unusedParameters as $name => $bool) {
            $errors[] = sprintf($message, $name);
        }
        return $errors;
    }
UnusedConstructorParametersRule