PHPStan\Rules\FunctionDefinitionCheck::checkParametersAcceptor PHP Method

checkParametersAcceptor() private method

private checkParametersAcceptor ( PHPStan\Reflection\ParametersAcceptor $parametersAcceptor, string $parameterMessage, string $returnMessage ) : array
$parametersAcceptor PHPStan\Reflection\ParametersAcceptor
$parameterMessage string
$returnMessage string
return array
    private function checkParametersAcceptor(ParametersAcceptor $parametersAcceptor, string $parameterMessage, string $returnMessage) : array
    {
        $errors = [];
        foreach ($parametersAcceptor->getParameters() as $parameter) {
            $type = $parameter->getType();
            if ($type->getClass() !== null && !$this->broker->hasClass($type->getClass())) {
                $errors[] = sprintf($parameterMessage, $parameter->getName(), $type->getClass());
            } elseif ($type instanceof IterableType) {
                $nestedItemType = $type->getNestedItemType();
                if ($nestedItemType->getItemType()->getClass() !== null && !$this->broker->hasClass($nestedItemType->getItemType()->getClass())) {
                    $errors[] = sprintf($parameterMessage, $parameter->getName(), $type->describe());
                }
            }
        }
        $returnType = $parametersAcceptor->getReturnType();
        if ($returnType->getClass() !== null && !$this->broker->hasClass($returnType->getClass())) {
            $errors[] = sprintf($returnMessage, $returnType->getClass());
        } elseif ($returnType instanceof IterableType) {
            $nestedItemType = $returnType->getNestedItemType();
            if ($nestedItemType->getItemType()->getClass() !== null && !$this->broker->hasClass($nestedItemType->getItemType()->getClass())) {
                $errors[] = sprintf($returnMessage, $returnType->describe());
            }
        }
        return $errors;
    }