rector/rules/Defluent/NodeResolver/FirstMethodCallVarResolver.php
Tomas Votruba 636eeecaf4 Updated Rector to commit dfd048342b88db3c2adcf20ec701a9fd9a4e2319
dfd048342b [PHP 8.0] Run union types for filled param type too (#331)
2021-06-29 14:24:45 +00:00

26 lines
817 B
PHP

<?php
declare (strict_types=1);
namespace Rector\Defluent\NodeResolver;
use PhpParser\Node\Expr;
use Rector\Defluent\ValueObject\AssignAndRootExpr;
use Rector\Defluent\ValueObject\FirstAssignFluentCall;
final class FirstMethodCallVarResolver
{
/**
* @param \Rector\Defluent\ValueObject\FirstAssignFluentCall|\Rector\Defluent\ValueObject\AssignAndRootExpr $firstCallFactoryAware
*/
public function resolve($firstCallFactoryAware, int $key) : \PhpParser\Node\Expr
{
if (!$firstCallFactoryAware->isFirstCallFactory()) {
return $firstCallFactoryAware->getCallerExpr();
}
// very first call
if ($key !== 0) {
return $firstCallFactoryAware->getCallerExpr();
}
return $firstCallFactoryAware->getFactoryAssignVariable();
}
}