*/ final class ClassNameResolver implements NodeNameResolverInterface { /** * @var \Rector\NodeNameResolver\NodeNameResolver */ private $nodeNameResolver; /** * @required */ public function autowire(NodeNameResolver $nodeNameResolver) : void { $this->nodeNameResolver = $nodeNameResolver; } public function getNode() : string { return ClassLike::class; } /** * @param ClassLike $node */ public function resolve(Node $node) : ?string { if ($node->namespacedName instanceof Name) { return $node->namespacedName->toString(); } if (!$node->name instanceof Identifier) { return null; } return $this->nodeNameResolver->getName($node->name); } }