Updated Rector to commit f5a5780031301ae8678d92c28ca537bf70951498

f5a5780031 [CodeQuality] Use AbstractRector on ForeachItemsAssignToEmptyArrayToAssignRector (#4336)
This commit is contained in:
Tomas Votruba 2023-06-24 09:24:54 +00:00
parent bdcf37feb5
commit 9ce469b35c
30 changed files with 422 additions and 36 deletions

View File

@ -12,16 +12,15 @@ use PhpParser\Node\Stmt;
use PhpParser\Node\Stmt\Expression;
use PhpParser\Node\Stmt\Foreach_;
use PhpParser\NodeTraverser;
use PHPStan\Analyser\Scope;
use Rector\CodeQuality\NodeAnalyzer\ForeachAnalyzer;
use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface;
use Rector\Core\Rector\AbstractScopeAwareRector;
use Rector\Core\Rector\AbstractRector;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\CodeQuality\Rector\Foreach_\ForeachItemsAssignToEmptyArrayToAssignRector\ForeachItemsAssignToEmptyArrayToAssignRectorTest
*/
final class ForeachItemsAssignToEmptyArrayToAssignRector extends AbstractScopeAwareRector
final class ForeachItemsAssignToEmptyArrayToAssignRector extends AbstractRector
{
/**
* @readonly
@ -70,7 +69,7 @@ CODE_SAMPLE
/**
* @param StmtsAwareInterface $node
*/
public function refactorWithScope(Node $node, Scope $scope) : ?Node
public function refactor(Node $node) : ?Node
{
if ($node->stmts === null) {
return null;

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'ba0d838d1c41ed30119de5229e2c075411dcf714';
public const PACKAGE_VERSION = 'f5a5780031301ae8678d92c28ca537bf70951498';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-06-24 08:43:42';
public const RELEASE_DATE = '2023-06-24 16:20:51';
/**
* @var int
*/

2
vendor/autoload.php vendored
View File

@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitd16f04832960f563d2bd2028becb4d24::getLoader();
return ComposerAutoloaderInitb44e3fe4961498a2300e1843a513573b::getLoader();

View File

@ -2597,7 +2597,6 @@ return array(
'Rector\\Symfony\\Rector\\FuncCall\\ReplaceServiceArgumentRector' => $vendorDir . '/rector/rector-symfony/src/Rector/FuncCall/ReplaceServiceArgumentRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\AddViolationToBuildViolationRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/AddViolationToBuildViolationRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\AuthorizationCheckerIsGrantedExtractorRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/AuthorizationCheckerIsGrantedExtractorRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ChangeStringCollectionOptionToConstantRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ChangeStringCollectionOptionToConstantRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ContainerBuilderCompileEnvArgumentRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ContainerBuilderCompileEnvArgumentRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ContainerGetToConstructorInjectionRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ContainerGetToConstructorInjectionRector.php',
@ -2615,7 +2614,6 @@ return array(
'Rector\\Symfony\\Rector\\MethodCall\\OptionNameRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/OptionNameRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ProcessBuilderGetProcessRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ProcessBuilderGetProcessRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ReadOnlyOptionToAttributeRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ReadOnlyOptionToAttributeRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\RedirectToRouteRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/RedirectToRouteRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ReflectionExtractorEnableMagicCallExtractorRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/ReflectionExtractorEnableMagicCallExtractorRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SimplifyFormRenderingRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/SimplifyFormRenderingRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\StringFormTypeToClassRector' => $vendorDir . '/rector/rector-symfony/src/Rector/MethodCall/StringFormTypeToClassRector.php',
@ -2646,6 +2644,8 @@ return array(
'Rector\\Symfony\\Set\\SymfonySetList' => $vendorDir . '/rector/rector-symfony/src/Set/SymfonySetList.php',
'Rector\\Symfony\\Set\\TwigLevelSetList' => $vendorDir . '/rector/rector-symfony/src/Set/TwigLevelSetList.php',
'Rector\\Symfony\\Set\\TwigSetList' => $vendorDir . '/rector/rector-symfony/src/Set/TwigSetList.php',
'Rector\\Symfony\\Symfony26\\Rector\\MethodCall\\RedirectToRouteRector' => $vendorDir . '/rector/rector-symfony/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php',
'Rector\\Symfony\\Symfony27\\Rector\\MethodCall\\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector' => $vendorDir . '/rector/rector-symfony/rules/Symfony27/Rector/MethodCall/ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector.php',
'Rector\\Symfony\\TypeAnalyzer\\ArrayUnionResponseTypeAnalyzer' => $vendorDir . '/rector/rector-symfony/src/TypeAnalyzer/ArrayUnionResponseTypeAnalyzer.php',
'Rector\\Symfony\\TypeAnalyzer\\ContainerAwareAnalyzer' => $vendorDir . '/rector/rector-symfony/src/TypeAnalyzer/ContainerAwareAnalyzer.php',
'Rector\\Symfony\\TypeAnalyzer\\ControllerAnalyzer' => $vendorDir . '/rector/rector-symfony/src/TypeAnalyzer/ControllerAnalyzer.php',

View File

@ -10,7 +10,7 @@ return array(
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'),
'Rector\\Utils\\' => array($baseDir . '/utils'),
'Rector\\Symfony\\' => array($vendorDir . '/rector/rector-symfony/src'),
'Rector\\Symfony\\' => array($vendorDir . '/rector/rector-symfony/src', $vendorDir . '/rector/rector-symfony/rules'),
'Rector\\RectorInstaller\\' => array($vendorDir . '/rector/extension-installer/src'),
'Rector\\PHPUnit\\' => array($vendorDir . '/rector/rector-phpunit/src'),
'Rector\\Doctrine\\' => array($vendorDir . '/rector/rector-doctrine/src'),

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitd16f04832960f563d2bd2028becb4d24
class ComposerAutoloaderInitb44e3fe4961498a2300e1843a513573b
{
private static $loader;
@ -22,17 +22,17 @@ class ComposerAutoloaderInitd16f04832960f563d2bd2028becb4d24
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitd16f04832960f563d2bd2028becb4d24', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitb44e3fe4961498a2300e1843a513573b', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInitd16f04832960f563d2bd2028becb4d24', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitb44e3fe4961498a2300e1843a513573b', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitd16f04832960f563d2bd2028becb4d24::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitb44e3fe4961498a2300e1843a513573b::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInitd16f04832960f563d2bd2028becb4d24::$files;
$filesToLoad = \Composer\Autoload\ComposerStaticInitb44e3fe4961498a2300e1843a513573b::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInitd16f04832960f563d2bd2028becb4d24
class ComposerStaticInitb44e3fe4961498a2300e1843a513573b
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@ -94,6 +94,7 @@ class ComposerStaticInitd16f04832960f563d2bd2028becb4d24
'Rector\\Symfony\\' =>
array (
0 => __DIR__ . '/..' . '/rector/rector-symfony/src',
1 => __DIR__ . '/..' . '/rector/rector-symfony/rules',
),
'Rector\\RectorInstaller\\' =>
array (
@ -2848,7 +2849,6 @@ class ComposerStaticInitd16f04832960f563d2bd2028becb4d24
'Rector\\Symfony\\Rector\\FuncCall\\ReplaceServiceArgumentRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/FuncCall/ReplaceServiceArgumentRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\AddViolationToBuildViolationRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/AddViolationToBuildViolationRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\AuthorizationCheckerIsGrantedExtractorRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/AuthorizationCheckerIsGrantedExtractorRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ChangeStringCollectionOptionToConstantRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ChangeStringCollectionOptionToConstantRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ContainerBuilderCompileEnvArgumentRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ContainerBuilderCompileEnvArgumentRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ContainerGetToConstructorInjectionRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ContainerGetToConstructorInjectionRector.php',
@ -2866,7 +2866,6 @@ class ComposerStaticInitd16f04832960f563d2bd2028becb4d24
'Rector\\Symfony\\Rector\\MethodCall\\OptionNameRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/OptionNameRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ProcessBuilderGetProcessRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ProcessBuilderGetProcessRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ReadOnlyOptionToAttributeRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ReadOnlyOptionToAttributeRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\RedirectToRouteRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/RedirectToRouteRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\ReflectionExtractorEnableMagicCallExtractorRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/ReflectionExtractorEnableMagicCallExtractorRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\SimplifyFormRenderingRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/SimplifyFormRenderingRector.php',
'Rector\\Symfony\\Rector\\MethodCall\\StringFormTypeToClassRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/MethodCall/StringFormTypeToClassRector.php',
@ -2897,6 +2896,8 @@ class ComposerStaticInitd16f04832960f563d2bd2028becb4d24
'Rector\\Symfony\\Set\\SymfonySetList' => __DIR__ . '/..' . '/rector/rector-symfony/src/Set/SymfonySetList.php',
'Rector\\Symfony\\Set\\TwigLevelSetList' => __DIR__ . '/..' . '/rector/rector-symfony/src/Set/TwigLevelSetList.php',
'Rector\\Symfony\\Set\\TwigSetList' => __DIR__ . '/..' . '/rector/rector-symfony/src/Set/TwigSetList.php',
'Rector\\Symfony\\Symfony26\\Rector\\MethodCall\\RedirectToRouteRector' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php',
'Rector\\Symfony\\Symfony27\\Rector\\MethodCall\\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Symfony27/Rector/MethodCall/ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector.php',
'Rector\\Symfony\\TypeAnalyzer\\ArrayUnionResponseTypeAnalyzer' => __DIR__ . '/..' . '/rector/rector-symfony/src/TypeAnalyzer/ArrayUnionResponseTypeAnalyzer.php',
'Rector\\Symfony\\TypeAnalyzer\\ContainerAwareAnalyzer' => __DIR__ . '/..' . '/rector/rector-symfony/src/TypeAnalyzer/ContainerAwareAnalyzer.php',
'Rector\\Symfony\\TypeAnalyzer\\ControllerAnalyzer' => __DIR__ . '/..' . '/rector/rector-symfony/src/TypeAnalyzer/ControllerAnalyzer.php',
@ -3094,9 +3095,9 @@ class ComposerStaticInitd16f04832960f563d2bd2028becb4d24
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitd16f04832960f563d2bd2028becb4d24::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitd16f04832960f563d2bd2028becb4d24::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitd16f04832960f563d2bd2028becb4d24::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitb44e3fe4961498a2300e1843a513573b::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitb44e3fe4961498a2300e1843a513573b::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitb44e3fe4961498a2300e1843a513573b::$classMap;
}, null, ClassLoader::class);
}

View File

@ -2121,12 +2121,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/rectorphp\/rector-symfony.git",
"reference": "100ca8c0c9f90bd8d2750f3859d0d1219f113da6"
"reference": "cdf2d63737d2e2f3f4e12138e40e3a9ba983e0e5"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-symfony\/zipball\/100ca8c0c9f90bd8d2750f3859d0d1219f113da6",
"reference": "100ca8c0c9f90bd8d2750f3859d0d1219f113da6",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-symfony\/zipball\/cdf2d63737d2e2f3f4e12138e40e3a9ba983e0e5",
"reference": "cdf2d63737d2e2f3f4e12138e40e3a9ba983e0e5",
"shasum": ""
},
"require": {
@ -2156,7 +2156,7 @@
"tomasvotruba\/type-coverage": "^0.2",
"tomasvotruba\/unused-public": "^0.1"
},
"time": "2023-06-20T08:24:02+00:00",
"time": "2023-06-24T09:17:48+00:00",
"default-branch": true,
"type": "rector-extension",
"extra": {
@ -2170,7 +2170,10 @@
"installation-source": "dist",
"autoload": {
"psr-4": {
"Rector\\Symfony\\": "src"
"Rector\\Symfony\\": [
"src",
"rules"
]
}
},
"notification-url": "https:\/\/packagist.org\/downloads\/",

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@ namespace Rector\RectorInstaller;
*/
final class GeneratedConfig
{
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main f0c1a5f'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main b19346b'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 4513a5f'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 100ca8c'));
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main f0c1a5f'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main b19346b'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 4513a5f'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main cdf2d63'));
private function __construct()
{
}

View File

@ -32,12 +32,18 @@
},
"autoload": {
"psr-4": {
"Rector\\Symfony\\": "src"
"Rector\\Symfony\\": [
"src",
"rules"
]
}
},
"autoload-dev": {
"psr-4": {
"Rector\\Symfony\\Tests\\": "tests",
"Rector\\Symfony\\Tests\\": [
"tests",
"rules-tests"
],
"Rector\\Symfony\\Utils\\": "utils"
},
"classmap": [

View File

@ -4,7 +4,7 @@ declare (strict_types=1);
namespace RectorPrefix202306;
use Rector\Config\RectorConfig;
use Rector\Symfony\Rector\MethodCall\RedirectToRouteRector;
use Rector\Symfony\Symfony26\Rector\MethodCall\RedirectToRouteRector;
return static function (RectorConfig $rectorConfig) : void {
$rectorConfig->rule(RedirectToRouteRector::class);
};

View File

@ -7,7 +7,7 @@ use Rector\Config\RectorConfig;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\Rector\Name\RenameClassRector;
use Rector\Renaming\ValueObject\MethodCallRename;
use Rector\Symfony\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector;
use Rector\Symfony\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector;
return static function (RectorConfig $rectorConfig) : void {
$rectorConfig->rule(ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector::class);
// @see https://symfony.com/blog/new-in-symfony-2-7-form-and-validator-updates#deprecated-setdefaultoptions-in-favor-of-configureoptions

View File

@ -0,0 +1,31 @@
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AppController extends Controller
{
public function someAction()
{
return $this->redirect($this->generateUrl('something'));
}
}
?>
-----
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AppController extends Controller
{
public function someAction()
{
return $this->redirectToRoute('something');
}
}
?>

View File

@ -0,0 +1,31 @@
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AppController2 extends Controller
{
public function someAction()
{
return $this->redirect($this->generateUrl('something', ['id' => $id]));
}
}
?>
-----
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AppController2 extends Controller
{
public function someAction()
{
return $this->redirectToRoute('something', ['id' => $id]);
}
}
?>

View File

@ -0,0 +1,31 @@
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AppController3 extends Controller
{
public function someAction()
{
return $this->redirect($this->generateUrl('something', ['id' => $id]), 301);
}
}
?>
-----
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AppController3 extends Controller
{
public function someAction()
{
return $this->redirectToRoute('something', ['id' => $id], 301);
}
}
?>

View File

@ -0,0 +1,31 @@
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class AppController extends AbstractController
{
public function someAction()
{
return $this->redirect($this->generateUrl('something'));
}
}
?>
-----
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class AppController extends AbstractController
{
public function someAction()
{
return $this->redirectToRoute('something');
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
final class GenerateUrlWithDefault extends AbstractController
{
public function someAction()
{
return $this->redirect(
$this->generateUrl('something', [], UrlGeneratorInterface::ABSOLUTE_PATH)
);
}
}
?>
-----
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
final class GenerateUrlWithDefault extends AbstractController
{
public function someAction()
{
return $this->redirectToRoute('something', []);
}
}
?>

View File

@ -0,0 +1,18 @@
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
final class GenerateUrlWithRelative extends AbstractController
{
public function someAction()
{
return $this->redirect(
$this->generateUrl('something', [], UrlGeneratorInterface::RELATIVE_PATH)
);
}
}
?>

View File

@ -0,0 +1,16 @@
<?php
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\Fixture;
use Rector\Symfony\Tests\Rector\MethodCall\RedirectToRouteRector\Fixture\SomeGenerator;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class SkipController extends AbstractController
{
public function someAction(SomeGenerator $generator)
{
return $this->redirect($generator->generateUrl());
}
}
?>

View File

@ -0,0 +1,23 @@
<?php
declare (strict_types=1);
namespace Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector;
use Iterator;
use RectorPrefix202306\PHPUnit\Framework\Attributes\DataProvider;
use Rector\Testing\PHPUnit\AbstractRectorTestCase;
final class RedirectToRouteRectorTest extends AbstractRectorTestCase
{
public function test(string $filePath) : void
{
$this->doTestFile($filePath);
}
public static function provideData() : Iterator
{
return self::yieldFilesFromDirectory(__DIR__ . '/Fixture');
}
public function provideConfigFilePath() : string
{
return __DIR__ . '/config/configured_rule.php';
}
}

View File

@ -0,0 +1,11 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202306;
use Rector\Config\RectorConfig;
use Rector\Symfony\Symfony26\Rector\MethodCall\RedirectToRouteRector;
return static function (RectorConfig $rectorConfig) : void {
$rectorConfig->import(__DIR__ . '/../../../../../../config/config.php');
$rectorConfig->rule(RedirectToRouteRector::class);
};

View File

@ -0,0 +1,23 @@
<?php
declare (strict_types=1);
namespace Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector;
use Iterator;
use RectorPrefix202306\PHPUnit\Framework\Attributes\DataProvider;
use Rector\Testing\PHPUnit\AbstractRectorTestCase;
final class ChangeCollectionTypeOptionNameFromTypeToEntryTypeRectorTest extends AbstractRectorTestCase
{
public function test(string $filePath) : void
{
$this->doTestFile($filePath);
}
public static function provideData() : Iterator
{
return self::yieldFilesFromDirectory(__DIR__ . '/Fixture');
}
public function provideConfigFilePath() : string
{
return __DIR__ . '/config/configured_rule.php';
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\Fixture;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
class EntryOptionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('tags', CollectionType::class, [
'options' => [],
]);
}
}
?>
-----
<?php
namespace Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\Fixture;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
class EntryOptionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('tags', CollectionType::class, [
'entry_options' => [],
]);
}
}
?>

View File

@ -0,0 +1,41 @@
<?php
namespace Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\Fixture;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
class TaskType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('tags', CollectionType::class, [
'type' => ChoiceType::class,
]);
}
}
?>
-----
<?php
namespace Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\Fixture;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
class TaskType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('tags', CollectionType::class, [
'entry_type' => ChoiceType::class,
]);
}
}
?>

View File

@ -0,0 +1,18 @@
<?php
namespace Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\Fixture;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
class SkipAlreadyAddedType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('tags', CollectionType::class, [
'type_entry' => ChoiceType::class,
]);
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\Fixture;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
class SkipWithoutOptionsType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('tags', CollectionType::class);
}
}

View File

@ -0,0 +1,11 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202306;
use Rector\Config\RectorConfig;
use Rector\Symfony\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector;
return static function (RectorConfig $rectorConfig) : void {
$rectorConfig->import(__DIR__ . '/../../../../../../config/config.php');
$rectorConfig->rule(ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector::class);
};

View File

@ -1,7 +1,7 @@
<?php
declare (strict_types=1);
namespace Rector\Symfony\Rector\MethodCall;
namespace Rector\Symfony\Symfony26\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Arg;
@ -12,7 +12,7 @@ use RectorPrefix202306\Symfony\Component\Routing\Generator\UrlGeneratorInterface
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Symfony\Tests\Rector\MethodCall\RedirectToRouteRector\RedirectToRouteRectorTest
* @see \Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\RedirectToRouteRectorTest
*/
final class RedirectToRouteRector extends AbstractRector
{

View File

@ -1,7 +1,7 @@
<?php
declare (strict_types=1);
namespace Rector\Symfony\Rector\MethodCall;
namespace Rector\Symfony\Symfony27\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr;
@ -18,7 +18,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://github.com/symfony/symfony/blob/2.8/UPGRADE-2.8.md#form
*
* @see \Rector\Symfony\Tests\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRectorTest
* @see \Rector\Symfony\Tests\Symfony27\Rector\MethodCall\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector\ChangeCollectionTypeOptionNameFromTypeToEntryTypeRectorTest
*/
final class ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector extends AbstractRector
{