diff --git a/rector.php b/rector.php index 3930ba109..45df28ad8 100644 --- a/rector.php +++ b/rector.php @@ -26,6 +26,8 @@ StringClassNameToClassConstantRector::class, __DIR__ . '/src/Set', UseClassKeywordForClassNameResolutionRector::class => [ + __DIR__ . '/rules/TYPO311/v0/ForwardResponseInsteadOfForwardMethodRector.php', // Don't import TYPO3 namespace + __DIR__ . '/rules/TYPO310/v0/UseNativePhpHex2binMethodRector.php', // Don't import TYPO3 namespace __DIR__ . '/rules/TYPO312/v0/MigrateFetchAllToFetchAllAssociativeRector.php', // Don't replace Doctrine Constants __DIR__ . '/rules/TYPO312/v0/MigrateFetchToFetchAssociativeRector.php', // Don't replace Doctrine Constants ], diff --git a/rules/TYPO310/v0/UseNativePhpHex2binMethodRector.php b/rules/TYPO310/v0/UseNativePhpHex2binMethodRector.php index 710afcbe6..7ed41d95b 100644 --- a/rules/TYPO310/v0/UseNativePhpHex2binMethodRector.php +++ b/rules/TYPO310/v0/UseNativePhpHex2binMethodRector.php @@ -10,7 +10,6 @@ use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Extbase\Utility\TypeHandlingUtility; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/10.0/Deprecation-87613-DeprecateTYPO3CMSExtbaseUtilityTypeHandlingUtilityhex2bin.html @@ -48,10 +47,10 @@ public function refactor(Node $node): ?Node public function getRuleDefinition(): RuleDefinition { return new RuleDefinition( - 'Turns ' . TypeHandlingUtility::class . '::hex2bin calls to native php hex2bin', + 'Turns TYPO3\CMS\Extbase\Utility\TypeHandlingUtility::hex2bin calls to native php hex2bin', [ new CodeSample( - TypeHandlingUtility::class . '::hex2bin("6578616d706c65206865782064617461");', + 'TYPO3\CMS\Extbase\Utility\TypeHandlingUtility::hex2bin("6578616d706c65206865782064617461");', 'hex2bin("6578616d706c65206865782064617461");' ), ] diff --git a/rules/TYPO311/v0/ForwardResponseInsteadOfForwardMethodRector.php b/rules/TYPO311/v0/ForwardResponseInsteadOfForwardMethodRector.php index e6bd87bb5..203e2ba58 100644 --- a/rules/TYPO311/v0/ForwardResponseInsteadOfForwardMethodRector.php +++ b/rules/TYPO311/v0/ForwardResponseInsteadOfForwardMethodRector.php @@ -19,7 +19,6 @@ use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.0/Deprecation-92815-ActionControllerForward.html @@ -40,7 +39,7 @@ public function __construct(ValueResolver $valueResolver) public function getRuleDefinition(): RuleDefinition { return new RuleDefinition( - 'Return TYPO3\CMS\Extbase\Http\ForwardResponse instead of ' . ActionController::class . '::forward()', + 'Return TYPO3\CMS\Extbase\Http\ForwardResponse instead of TYPO3\CMS\Extbase\Mvc\Controller\ActionController::forward()', [new CodeSample( <<<'CODE_SAMPLE' use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; diff --git a/rules/TYPO311/v3/MigrateHttpUtilityRedirectRector.php b/rules/TYPO311/v3/MigrateHttpUtilityRedirectRector.php index 5472d3fbd..62836c83b 100644 --- a/rules/TYPO311/v3/MigrateHttpUtilityRedirectRector.php +++ b/rules/TYPO311/v3/MigrateHttpUtilityRedirectRector.php @@ -16,8 +16,6 @@ use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\CMS\Core\Utility\HttpUtility; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.3/Deprecation-94316-DeprecatedHTTPHeaderManipulatingMethodsFromHttpUtility.html @@ -77,7 +75,7 @@ public function refactor(Node $node): ?array if (! $this->nodeTypeResolver->isMethodStaticCallOrClassMethodObjectType( $staticCall, - new ObjectType(HttpUtility::class) + new ObjectType('TYPO3\CMS\Core\Utility\HttpUtility') )) { return null; } @@ -88,7 +86,7 @@ public function refactor(Node $node): ?array $target = $staticCall->args[0]; $httpStatusCode = $staticCall->args[1] ?? $this->nodeFactory->createClassConstFetch( - HttpUtility::class, + 'TYPO3\CMS\Core\Utility\HttpUtility', 'HTTP_STATUS_303' ); @@ -116,7 +114,7 @@ public function refactor(Node $node): ?array private function createResponseFactory(): StaticCall { return $this->nodeFactory->createStaticCall( - GeneralUtility::class, + 'TYPO3\CMS\Core\Utility\GeneralUtility', 'makeInstance', [$this->nodeFactory->createClassConstReference('Psr\\Http\\Message\\ResponseFactoryInterface')] ); diff --git a/rules/TYPO312/v0/UsePageDoktypeRegistryRector.php b/rules/TYPO312/v0/UsePageDoktypeRegistryRector.php index 7581958a5..c07933e60 100644 --- a/rules/TYPO312/v0/UsePageDoktypeRegistryRector.php +++ b/rules/TYPO312/v0/UsePageDoktypeRegistryRector.php @@ -13,8 +13,6 @@ use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Core\DataHandling\PageDoktypeRegistry; -use TYPO3\CMS\Core\Utility\GeneralUtility; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Breaking-98487-GLOBALSPAGES_TYPESRemoved.html @@ -68,8 +66,8 @@ public function refactor(Node $node) } return $this->nodeFactory->createMethodCall( - $this->nodeFactory->createStaticCall(GeneralUtility::class, 'makeInstance', [ - $this->nodeFactory->createClassConstReference(PageDoktypeRegistry::class), + $this->nodeFactory->createStaticCall('TYPO3\CMS\Core\Utility\GeneralUtility', 'makeInstance', [ + $this->nodeFactory->createClassConstReference('TYPO3\CMS\Core\DataHandling\PageDoktypeRegistry'), ]), 'add', [$node->var->dim, $node->expr] diff --git a/rules/TYPO312/v4/MigrateRecordTooltipMethodToRecordIconAltTextMethodRector.php b/rules/TYPO312/v4/MigrateRecordTooltipMethodToRecordIconAltTextMethodRector.php index cd53ac0f5..92900582e 100644 --- a/rules/TYPO312/v4/MigrateRecordTooltipMethodToRecordIconAltTextMethodRector.php +++ b/rules/TYPO312/v4/MigrateRecordTooltipMethodToRecordIconAltTextMethodRector.php @@ -12,7 +12,6 @@ use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Backend\Utility\BackendUtility; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.4/Deprecation-100459-BackendUtilitygetRecordToolTip.html @@ -38,7 +37,6 @@ public function getRuleDefinition(): RuleDefinition $link = 'my link'; CODE_SAMPLE ), - ] ); } @@ -59,7 +57,7 @@ public function refactor(Node $node): ?Node $concatenationWithTitleAttribute = [ new String_('title="'), - $this->nodeFactory->createStaticCall(BackendUtility::class, 'getRecordIconAltText', $node->args), + $this->nodeFactory->createStaticCall('TYPO3\CMS\Backend\Utility\BackendUtility', 'getRecordIconAltText', $node->args), new String_('"'), ]; diff --git a/rules/TYPO313/v0/ChangeSignatureForLastInsertIdRector.php b/rules/TYPO313/v0/ChangeSignatureForLastInsertIdRector.php index b5af82094..cf422b3de 100644 --- a/rules/TYPO313/v0/ChangeSignatureForLastInsertIdRector.php +++ b/rules/TYPO313/v0/ChangeSignatureForLastInsertIdRector.php @@ -10,7 +10,6 @@ use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Core\Database\Connection; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/13.0/Breaking-102875-ChangedConnectionMethodSignaturesAndBehaviour.html @@ -59,7 +58,7 @@ public function refactor(Node $node): ?Node if (! $this->nodeTypeResolver->isMethodStaticCallOrClassMethodObjectType( $node, - new ObjectType(Connection::class) + new ObjectType('TYPO3\CMS\Core\Database\Connection') )) { return null; } diff --git a/rules/TYPO313/v0/ChangeSignatureOfConnectionQuoteRector.php b/rules/TYPO313/v0/ChangeSignatureOfConnectionQuoteRector.php index bb86873fd..6ef651c60 100644 --- a/rules/TYPO313/v0/ChangeSignatureOfConnectionQuoteRector.php +++ b/rules/TYPO313/v0/ChangeSignatureOfConnectionQuoteRector.php @@ -4,7 +4,6 @@ namespace Ssch\TYPO3Rector\TYPO313\v0; -use Doctrine\DBAL\Connection; use PhpParser\Node; use PhpParser\Node\Arg; use PhpParser\Node\Expr\Cast\String_; @@ -13,7 +12,6 @@ use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Core\Database\Query\QueryBuilder; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/13.0/Breaking-102875-ChangedConnectionMethodSignaturesAndBehaviour.html @@ -56,10 +54,10 @@ public function refactor(Node $node): ?Node { if (! $this->nodeTypeResolver->isMethodStaticCallOrClassMethodObjectType( $node, - new ObjectType(Connection::class) + new ObjectType('Doctrine\DBAL\Connection') ) && ! $this->nodeTypeResolver->isMethodStaticCallOrClassMethodObjectType( $node, - new ObjectType(QueryBuilder::class) + new ObjectType('TYPO3\CMS\Core\Database\Query\QueryBuilder') )) { return null; } diff --git a/rules/TYPO313/v0/EventListenerConfigurationToAttributeRector.php b/rules/TYPO313/v0/EventListenerConfigurationToAttributeRector.php index 74168577e..f82ea37e9 100644 --- a/rules/TYPO313/v0/EventListenerConfigurationToAttributeRector.php +++ b/rules/TYPO313/v0/EventListenerConfigurationToAttributeRector.php @@ -20,7 +20,6 @@ use Ssch\TYPO3Rector\Helper\ServiceDefinitionHelper; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use TYPO3\CMS\Core\Attribute\AsEventListener; /** * @changelog https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/13.0/Feature-101544-IntroducePHPAttributeToAutoconfigureEventListeners.html @@ -50,8 +49,12 @@ final class EventListenerConfigurationToAttributeRector extends AbstractRector i private string $eventListenerTagName = 'event.listener'; - public function __construct(ReflectionProvider $reflectionProvider, ServiceDefinitionHelper $serviceDefinitionHelper, PhpAttributeGroupFactory $phpAttributeGroupFactory, PhpAttributeAnalyzer $phpAttributeAnalyzer) - { + public function __construct( + ReflectionProvider $reflectionProvider, + ServiceDefinitionHelper $serviceDefinitionHelper, + PhpAttributeGroupFactory $phpAttributeGroupFactory, + PhpAttributeAnalyzer $phpAttributeAnalyzer + ) { $this->reflectionProvider = $reflectionProvider; $this->serviceDefinitionHelper = $serviceDefinitionHelper; $this->phpAttributeGroupFactory = $phpAttributeGroupFactory; @@ -105,11 +108,11 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (! $this->reflectionProvider->hasClass(AsEventListener::class)) { + if (! $this->reflectionProvider->hasClass('TYPO3\CMS\Core\Attribute\AsEventListener')) { return null; } - if ($this->phpAttributeAnalyzer->hasPhpAttribute($node, AsEventListener::class)) { + if ($this->phpAttributeAnalyzer->hasPhpAttribute($node, 'TYPO3\CMS\Core\Attribute\AsEventListener')) { return null; } @@ -151,7 +154,7 @@ private function createAttributeGroupAsEventListener( ?string $method, ?string $event ): AttributeGroup { - $attributeGroup = $this->phpAttributeGroupFactory->createFromClass(AsEventListener::class); + $attributeGroup = $this->phpAttributeGroupFactory->createFromClass('TYPO3\CMS\Core\Attribute\AsEventListener'); $simpleOptions = array_filter([ 'before' => $before, @@ -180,7 +183,7 @@ private function replaceAsEventListenerAttribute(Class_ $class, AttributeGroup $ $replacedAsEventListenerAttribute = \false; foreach ($class->attrGroups as $attrGroup) { foreach ($attrGroup->attrs as $attribute) { - if ($this->nodeNameResolver->isName($attribute->name, AsEventListener::class)) { + if ($this->nodeNameResolver->isName($attribute->name, 'TYPO3\CMS\Core\Attribute\AsEventListener')) { $hasAsEventListenerAttribute = \true; $replacedAsEventListenerAttribute = $this->replaceArguments($attribute, $createAttributeGroup); }