*/ final class ParamTypeResolver implements NodeTypeResolverInterface, NodeTypeResolverAwareInterface { /** * @var \Rector\NodeTypeResolver\NodeTypeResolver */ private $nodeTypeResolver; public function autowire(NodeTypeResolver $nodeTypeResolver) : void { $this->nodeTypeResolver = $nodeTypeResolver; } /** * @return array> */ public function getNodeClasses() : array { return [Param::class]; } /** * @param Param $node */ public function resolve(Node $node) : Type { if ($node->type === null) { return new MixedType(); } return $this->nodeTypeResolver->getType($node->type); } }