diff --git a/src/Analyser/NodeScopeResolver.php b/src/Analyser/NodeScopeResolver.php index 39ab04a148..76ff7ece6b 100644 --- a/src/Analyser/NodeScopeResolver.php +++ b/src/Analyser/NodeScopeResolver.php @@ -5281,25 +5281,23 @@ public function createCallableParameters(Scope $scope, Expr $closureExpr, ?array } $acceptors = $passedToType->getCallableParametersAcceptors($scope); - if (count($acceptors) > 0) { - foreach ($acceptors as $acceptor) { - if ($callableParameters === null) { - $callableParameters = $acceptor->getParameters(); - continue; - } - - $newParameters = []; - foreach ($acceptor->getParameters() as $i => $callableParameter) { - if (!array_key_exists($i, $callableParameters)) { - $newParameters[] = $callableParameter; - continue; - } + foreach ($acceptors as $acceptor) { + if ($callableParameters === null) { + $callableParameters = $acceptor->getParameters(); + continue; + } - $newParameters[] = $callableParameters[$i]->union($callableParameter); + $newParameters = []; + foreach ($acceptor->getParameters() as $i => $callableParameter) { + if (!array_key_exists($i, $callableParameters)) { + $newParameters[] = $callableParameter; + continue; } - $callableParameters = $newParameters; + $newParameters[] = $callableParameters[$i]->union($callableParameter); } + + $callableParameters = $newParameters; } } diff --git a/src/Reflection/Callables/FunctionCallableVariant.php b/src/Reflection/Callables/FunctionCallableVariant.php index 5e385e4480..ca45e92e3c 100644 --- a/src/Reflection/Callables/FunctionCallableVariant.php +++ b/src/Reflection/Callables/FunctionCallableVariant.php @@ -33,8 +33,8 @@ public function __construct( } /** - * @param ExtendedParametersAcceptor[] $variants - * @return self[] + * @param list $variants + * @return list */ public static function createFromVariants(FunctionReflection|ExtendedMethodReflection $function, array $variants): array { diff --git a/src/Type/ObjectType.php b/src/Type/ObjectType.php index 3b7a72baaa..b55ff834de 100644 --- a/src/Type/ObjectType.php +++ b/src/Type/ObjectType.php @@ -1550,7 +1550,7 @@ public function getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope) } /** - * @return CallableParametersAcceptor[]|null + * @return list|null */ private function findCallableParametersAcceptors(): ?array { diff --git a/src/Type/Type.php b/src/Type/Type.php index e9cbca0b7a..4690125478 100644 --- a/src/Type/Type.php +++ b/src/Type/Type.php @@ -207,7 +207,7 @@ public function exponentiate(Type $exponent): Type; public function isCallable(): TrinaryLogic; /** - * @return CallableParametersAcceptor[] + * @return list */ public function getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope): array;