diff --git a/src/PostRector/Collector/UseNodesToAddCollector.php b/src/PostRector/Collector/UseNodesToAddCollector.php deleted file mode 100644 index 784c785b043..00000000000 --- a/src/PostRector/Collector/UseNodesToAddCollector.php +++ /dev/null @@ -1,277 +0,0 @@ -useNodesToAddCollector->hasImport($file, $objectType)) { - * return; - * } - * - * $this->useNodesToAddCollector->addUseImport($objectType); - * } - * - * After: - * - * public function refactor(File $file, FullyQualifiedObjectType $objectType): void - * { - * $fileNode = $file->getFileNode(); - * if (! $fileNode instanceof FileNode) { - * return; - * } - * - * if ($fileNode->hasImport($objectType)) { - * return; - * } - * - * $fileNode->getPendingImports() - * ->addUseImport($objectType); - * } - * - * Method mapping: - * addUseImport($t) -> $file->getFileNode()->getPendingImports()->addUseImport($t) - * addConstantUseImport($t) -> $file->getFileNode()->getPendingImports()->addConstantUseImport($t) - * addFunctionUseImport($t) -> $file->getFileNode()->getPendingImports()->addFunctionUseImport($t) - * getUseImportTypesByNode($file) -> $file->getFileNode()->resolveUsedImportTypes() - * hasImport($file, $t) -> $file->getFileNode()->hasImport($t) - * isShortImported($file, $t) -> $file->getFileNode()->getPendingImports()->isShortImported($t) - * isImportShortable($file, $t) -> $file->getFileNode()->getPendingImports()->isImportShortable($t) - * getObjectImportsByFilePath() -> $file->getFileNode()->getPendingImports()->getUseImports() - * getConstantImportsByFilePath() -> $file->getFileNode()->getPendingImports()->getConstantImports() - * getFunctionImportsByFilePath() -> $file->getFileNode()->getPendingImports()->getFunctionImports() - */ -final readonly class UseNodesToAddCollector -{ - public function __construct( - private CurrentFileProvider $currentFileProvider, - ) { - } - - /** - * @api - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->addUseImport($type) instead.')] - public function addUseImport(FullyQualifiedObjectType $fullyQualifiedObjectType): void - { - $this->warn('addUseImport()', '$file->getFileNode()->getPendingImports()->addUseImport($type)'); - - $fileNode = $this->resolveCurrentFileNode(); - if (! $fileNode instanceof FileNode) { - return; - } - - $fileNode->getPendingImports() - ->addUseImport($fullyQualifiedObjectType); - } - - /** - * @api - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->addConstantUseImport($type) instead.')] - public function addConstantUseImport(FullyQualifiedObjectType $fullyQualifiedObjectType): void - { - $this->warn('addConstantUseImport()', '$file->getFileNode()->getPendingImports()->addConstantUseImport($type)'); - - $fileNode = $this->resolveCurrentFileNode(); - if (! $fileNode instanceof FileNode) { - return; - } - - $fileNode->getPendingImports() - ->addConstantUseImport($fullyQualifiedObjectType); - } - - /** - * @api - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->addFunctionUseImport($type) instead.')] - public function addFunctionUseImport(FullyQualifiedObjectType $fullyQualifiedObjectType): void - { - $this->warn('addFunctionUseImport()', '$file->getFileNode()->getPendingImports()->addFunctionUseImport($type)'); - - $fileNode = $this->resolveCurrentFileNode(); - if (! $fileNode instanceof FileNode) { - return; - } - - $fileNode->getPendingImports() - ->addFunctionUseImport($fullyQualifiedObjectType); - } - - /** - * @api - * - * @return array - */ - #[Deprecated(message: 'Use $file->getFileNode()->resolveUsedImportTypes() instead.')] - public function getUseImportTypesByNode(File $file): array - { - $this->warn('getUseImportTypesByNode()', '$file->getFileNode()->resolveUsedImportTypes()'); - - $fileNode = $file->getFileNode(); - if (! $fileNode instanceof FileNode) { - return []; - } - - return $fileNode->resolveUsedImportTypes(); - } - - /** - * @api - */ - #[Deprecated(message: 'Use $file->getFileNode()->hasImport($type) instead.')] - public function hasImport(File $file, FullyQualifiedObjectType $fullyQualifiedObjectType): bool - { - $this->warn('hasImport()', '$file->getFileNode()->hasImport($type)'); - - $fileNode = $file->getFileNode(); - if (! $fileNode instanceof FileNode) { - return false; - } - - return $fileNode->hasImport($fullyQualifiedObjectType); - } - - /** - * @api - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->isShortImported($type) instead.')] - public function isShortImported(File $file, FullyQualifiedObjectType $fullyQualifiedObjectType): bool - { - $this->warn('isShortImported()', '$file->getFileNode()->getPendingImports()->isShortImported($type)'); - - $fileNode = $file->getFileNode(); - if (! $fileNode instanceof FileNode) { - return false; - } - - return $fileNode->getPendingImports() - ->isShortImported($fullyQualifiedObjectType); - } - - /** - * @api - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->isImportShortable($type) instead.')] - public function isImportShortable(File $file, FullyQualifiedObjectType $fullyQualifiedObjectType): bool - { - $this->warn('isImportShortable()', '$file->getFileNode()->getPendingImports()->isImportShortable($type)'); - - $fileNode = $file->getFileNode(); - if (! $fileNode instanceof FileNode) { - return false; - } - - return $fileNode->getPendingImports() - ->isImportShortable($fullyQualifiedObjectType); - } - - /** - * @api - * - * @return FullyQualifiedObjectType[] - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->getUseImports() instead.')] - public function getObjectImportsByFilePath(string $filePath): array - { - $this->warn('getObjectImportsByFilePath()', '$file->getFileNode()->getPendingImports()->getUseImports()'); - - $fileNode = $this->resolveCurrentFileNode(); - if (! $fileNode instanceof FileNode) { - return []; - } - - return $fileNode->getPendingImports() - ->getUseImports(); - } - - /** - * @api - * - * @return FullyQualifiedObjectType[] - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->getConstantImports() instead.')] - public function getConstantImportsByFilePath(string $filePath): array - { - $this->warn( - 'getConstantImportsByFilePath()', - '$file->getFileNode()->getPendingImports()->getConstantImports()' - ); - - $fileNode = $this->resolveCurrentFileNode(); - if (! $fileNode instanceof FileNode) { - return []; - } - - return $fileNode->getPendingImports() - ->getConstantImports(); - } - - /** - * @api - * - * @return FullyQualifiedObjectType[] - */ - #[Deprecated(message: 'Use $file->getFileNode()->getPendingImports()->getFunctionImports() instead.')] - public function getFunctionImportsByFilePath(string $filePath): array - { - $this->warn( - 'getFunctionImportsByFilePath()', - '$file->getFileNode()->getPendingImports()->getFunctionImports()' - ); - - $fileNode = $this->resolveCurrentFileNode(); - if (! $fileNode instanceof FileNode) { - return []; - } - - return $fileNode->getPendingImports() - ->getFunctionImports(); - } - - private function resolveCurrentFileNode(): ?FileNode - { - $file = $this->currentFileProvider->getFile(); - if (! $file instanceof File) { - return null; - } - - return $file->getFileNode(); - } - - private function warn(string $method, string $replacement): void - { - trigger_error( - sprintf( - 'UseNodesToAddCollector::%s is deprecated and will be removed. Use "%s" instead, via $file->getFileNode().', - $method, - $replacement - ), - E_USER_DEPRECATED - ); - } -}