This commit is contained in:
Tomas Votruba 2021-06-30 16:00:19 +02:00
parent 8926f8e91d
commit 1d1c723c26

View File

@ -20,7 +20,6 @@ use PhpParser\Node\Stmt\Return_;
use PHPStan\Analyser\MutatingScope;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\ParameterReflection;
use PHPStan\Reflection\ParametersAcceptorSelector;
use PHPStan\Type\MixedType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\Reflection\ReflectionResolver;
@ -119,26 +118,26 @@ final class NonVariableToVariableOnFunctionCallRector extends AbstractRector
return [];
}
$parametersAcceptor = ParametersAcceptorSelector::selectSingle($functionLikeReflection->getVariants());
foreach ($functionLikeReflection->getVariants() as $parametersAcceptor) {
/** @var ParameterReflection $parameterReflection */
foreach ($parametersAcceptor->getParameters() as $key => $parameterReflection) {
// omitted optional parameter
if (! isset($call->args[$key])) {
continue;
}
/** @var ParameterReflection $parameterReflection */
foreach ($parametersAcceptor->getParameters() as $key => $parameterReflection) {
// omitted optional parameter
if (! isset($call->args[$key])) {
continue;
if ($parameterReflection->passedByReference()->no()) {
continue;
}
$argument = $call->args[$key]->value;
if ($this->isVariableLikeNode($argument)) {
continue;
}
$arguments[$key] = $argument;
}
if ($parameterReflection->passedByReference()->no()) {
continue;
}
$argument = $call->args[$key]->value;
if ($this->isVariableLikeNode($argument)) {
continue;
}
$arguments[$key] = $argument;
}
return $arguments;