Skip to content

Commit fa8368b

Browse files
committed
fix
1 parent 06fe0ea commit fa8368b

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/Analyser/NodeScopeResolver.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5603,11 +5603,12 @@ private function processArgs(
56035603
}
56045604
}
56055605

5606+
$originalArg = $arg->getAttribute(ArgumentsNormalizer::ORIGINAL_ARG_ATTRIBUTE) ?? $arg;
56065607
if ($calleeReflection !== null) {
5607-
$scope = $scope->pushInFunctionCall($calleeReflection, $parameter, true);
5608+
$rememberTypes = !$originalArg->value instanceof Expr\Closure && !$originalArg->value instanceof Expr\ArrowFunction;
5609+
$scope = $scope->pushInFunctionCall($calleeReflection, $parameter, $rememberTypes);
56085610
}
56095611

5610-
$originalArg = $arg->getAttribute(ArgumentsNormalizer::ORIGINAL_ARG_ATTRIBUTE) ?? $arg;
56115612
$this->callNodeCallback($nodeCallback, $originalArg, $scope, $storage);
56125613

56135614
$originalScope = $scope;

src/Reflection/ParametersAcceptorSelector.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,8 @@ public static function selectFromArgs(
499499
}
500500

501501
if ($parameter !== null && $scope instanceof MutatingScope) {
502-
$scope = $scope->pushInFunctionCall(null, $parameter, true);
502+
$rememberTypes = !$originalArg->value instanceof Node\Expr\Closure && !$originalArg->value instanceof Node\Expr\ArrowFunction;
503+
$scope = $scope->pushInFunctionCall(null, $parameter, $rememberTypes);
503504
}
504505

505506
$type = $scope->getType($originalArg->value);

0 commit comments

Comments
 (0)