Skip to content

Commit f15e04d

Browse files
authored
More precise Type->getCallableParametersAcceptors() return type (#4713)
1 parent b0f6bd6 commit f15e04d

4 files changed

Lines changed: 17 additions & 19 deletions

File tree

src/Analyser/NodeScopeResolver.php

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5281,25 +5281,23 @@ public function createCallableParameters(Scope $scope, Expr $closureExpr, ?array
52815281
}
52825282

52835283
$acceptors = $passedToType->getCallableParametersAcceptors($scope);
5284-
if (count($acceptors) > 0) {
5285-
foreach ($acceptors as $acceptor) {
5286-
if ($callableParameters === null) {
5287-
$callableParameters = $acceptor->getParameters();
5288-
continue;
5289-
}
5290-
5291-
$newParameters = [];
5292-
foreach ($acceptor->getParameters() as $i => $callableParameter) {
5293-
if (!array_key_exists($i, $callableParameters)) {
5294-
$newParameters[] = $callableParameter;
5295-
continue;
5296-
}
5284+
foreach ($acceptors as $acceptor) {
5285+
if ($callableParameters === null) {
5286+
$callableParameters = $acceptor->getParameters();
5287+
continue;
5288+
}
52975289

5298-
$newParameters[] = $callableParameters[$i]->union($callableParameter);
5290+
$newParameters = [];
5291+
foreach ($acceptor->getParameters() as $i => $callableParameter) {
5292+
if (!array_key_exists($i, $callableParameters)) {
5293+
$newParameters[] = $callableParameter;
5294+
continue;
52995295
}
53005296

5301-
$callableParameters = $newParameters;
5297+
$newParameters[] = $callableParameters[$i]->union($callableParameter);
53025298
}
5299+
5300+
$callableParameters = $newParameters;
53035301
}
53045302
}
53055303

src/Reflection/Callables/FunctionCallableVariant.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public function __construct(
3333
}
3434

3535
/**
36-
* @param ExtendedParametersAcceptor[] $variants
37-
* @return self[]
36+
* @param list<ExtendedParametersAcceptor> $variants
37+
* @return list<self>
3838
*/
3939
public static function createFromVariants(FunctionReflection|ExtendedMethodReflection $function, array $variants): array
4040
{

src/Type/ObjectType.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1550,7 +1550,7 @@ public function getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope)
15501550
}
15511551

15521552
/**
1553-
* @return CallableParametersAcceptor[]|null
1553+
* @return list<CallableParametersAcceptor>|null
15541554
*/
15551555
private function findCallableParametersAcceptors(): ?array
15561556
{

src/Type/Type.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ public function exponentiate(Type $exponent): Type;
207207
public function isCallable(): TrinaryLogic;
208208

209209
/**
210-
* @return CallableParametersAcceptor[]
210+
* @return list<CallableParametersAcceptor>
211211
*/
212212
public function getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope): array;
213213

0 commit comments

Comments
 (0)