diff --git a/packages/Restoration/src/Rector/Namespace_/CompleteImportForPartialAnnotationRector.php b/packages/Restoration/src/Rector/Namespace_/CompleteImportForPartialAnnotationRector.php index ebf8ac476fee..02519af570e4 100644 --- a/packages/Restoration/src/Rector/Namespace_/CompleteImportForPartialAnnotationRector.php +++ b/packages/Restoration/src/Rector/Namespace_/CompleteImportForPartialAnnotationRector.php @@ -10,6 +10,7 @@ use PhpParser\Node\Stmt\Class_; use PhpParser\Node\Stmt\Namespace_; use PhpParser\Node\Stmt\Use_; +use Rector\Exception\ShouldNotHappenException; use Rector\Rector\AbstractRector; use Rector\RectorDefinition\ConfiguredCodeSample; use Rector\RectorDefinition\RectorDefinition; @@ -19,6 +20,14 @@ */ final class CompleteImportForPartialAnnotationRector extends AbstractRector { + /** + * @var string[][] + */ + private const DEFAULT_IMPORTS_TO_RESTORE = [ + ['Doctrine\ORM\Mapping', 'ORM'], + ['Symfony\Component\Validator\Constraints', 'Assert'], + ]; + /** * @var mixed[] */ @@ -29,7 +38,7 @@ final class CompleteImportForPartialAnnotationRector extends AbstractRector */ public function __construct(array $useImportsToRestore = []) { - $this->useImportsToRestore = $useImportsToRestore; + $this->useImportsToRestore = $useImportsToRestore ?? self::DEFAULT_IMPORTS_TO_RESTORE; } public function getDefinition(): RectorDefinition @@ -89,6 +98,10 @@ public function refactor(Node $node): ?Node [$import, $alias] = $useImportToRestore; $annotationToSeek = $alias; } else { + if (! is_string($useImportToRestore)) { + throw new ShouldNotHappenException(); + } + $import = $useImportToRestore; $alias = ''; $annotationToSeek = Strings::after($import, '\\', -1);