mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-01 00:40:52 +00:00
Updated Rector to commit 07df7dc1a344c52711441149d61251a4fe10366d
07df7dc1a3
Remove collector interface and fix SpatieEnumClassToEnumRector already has underscore to double underscore (#5473)
This commit is contained in:
parent
bb88af4819
commit
5fd03d40bd
2
vendor/composer/autoload_classmap.php
vendored
2
vendor/composer/autoload_classmap.php
vendored
|
@ -2079,6 +2079,8 @@ return array(
|
|||
'Rector\\Symfony\\CodeQuality\\Rector\\MethodCall\\LiteralGetToRequestClassConstantRector' => $vendorDir . '/rector/rector-symfony/rules/CodeQuality/Rector/MethodCall/LiteralGetToRequestClassConstantRector.php',
|
||||
'Rector\\Symfony\\Configs\\ConfigArrayHandler\\NestedConfigCallsFactory' => $vendorDir . '/rector/rector-symfony/rules/Configs/ConfigArrayHandler/NestedConfigCallsFactory.php',
|
||||
'Rector\\Symfony\\Configs\\ConfigArrayHandler\\SecurityAccessDecisionManagerConfigArrayHandler' => $vendorDir . '/rector/rector-symfony/rules/Configs/ConfigArrayHandler/SecurityAccessDecisionManagerConfigArrayHandler.php',
|
||||
'Rector\\Symfony\\Configs\\Enum\\DoctrineConfigKey' => $vendorDir . '/rector/rector-symfony/rules/Configs/Enum/DoctrineConfigKey.php',
|
||||
'Rector\\Symfony\\Configs\\Enum\\GroupingMethods' => $vendorDir . '/rector/rector-symfony/rules/Configs/Enum/GroupingMethods.php',
|
||||
'Rector\\Symfony\\Configs\\Enum\\SecurityConfigKey' => $vendorDir . '/rector/rector-symfony/rules/Configs/Enum/SecurityConfigKey.php',
|
||||
'Rector\\Symfony\\Configs\\Rector\\ClassMethod\\AddRouteAnnotationRector' => $vendorDir . '/rector/rector-symfony/rules/Configs/Rector/ClassMethod/AddRouteAnnotationRector.php',
|
||||
'Rector\\Symfony\\Configs\\Rector\\Closure\\ServiceArgsToServiceNamedArgRector' => $vendorDir . '/rector/rector-symfony/rules/Configs/Rector/Closure/ServiceArgsToServiceNamedArgRector.php',
|
||||
|
|
2
vendor/composer/autoload_static.php
vendored
2
vendor/composer/autoload_static.php
vendored
|
@ -2293,6 +2293,8 @@ class ComposerStaticInit3aa8fc9c37eb79c784df0b556be25aa0
|
|||
'Rector\\Symfony\\CodeQuality\\Rector\\MethodCall\\LiteralGetToRequestClassConstantRector' => __DIR__ . '/..' . '/rector/rector-symfony/rules/CodeQuality/Rector/MethodCall/LiteralGetToRequestClassConstantRector.php',
|
||||
'Rector\\Symfony\\Configs\\ConfigArrayHandler\\NestedConfigCallsFactory' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Configs/ConfigArrayHandler/NestedConfigCallsFactory.php',
|
||||
'Rector\\Symfony\\Configs\\ConfigArrayHandler\\SecurityAccessDecisionManagerConfigArrayHandler' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Configs/ConfigArrayHandler/SecurityAccessDecisionManagerConfigArrayHandler.php',
|
||||
'Rector\\Symfony\\Configs\\Enum\\DoctrineConfigKey' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Configs/Enum/DoctrineConfigKey.php',
|
||||
'Rector\\Symfony\\Configs\\Enum\\GroupingMethods' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Configs/Enum/GroupingMethods.php',
|
||||
'Rector\\Symfony\\Configs\\Enum\\SecurityConfigKey' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Configs/Enum/SecurityConfigKey.php',
|
||||
'Rector\\Symfony\\Configs\\Rector\\ClassMethod\\AddRouteAnnotationRector' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Configs/Rector/ClassMethod/AddRouteAnnotationRector.php',
|
||||
'Rector\\Symfony\\Configs\\Rector\\Closure\\ServiceArgsToServiceNamedArgRector' => __DIR__ . '/..' . '/rector/rector-symfony/rules/Configs/Rector/Closure/ServiceArgsToServiceNamedArgRector.php',
|
||||
|
|
8
vendor/composer/installed.json
vendored
8
vendor/composer/installed.json
vendored
|
@ -1867,12 +1867,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/rectorphp\/rector-symfony.git",
|
||||
"reference": "147897bc7e0075d5c141ed5cc4d9f1f752cf5b37"
|
||||
"reference": "6d139d7dfc5b2d479aa7ad74aa83428666ee7003"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-symfony\/zipball\/147897bc7e0075d5c141ed5cc4d9f1f752cf5b37",
|
||||
"reference": "147897bc7e0075d5c141ed5cc4d9f1f752cf5b37",
|
||||
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-symfony\/zipball\/6d139d7dfc5b2d479aa7ad74aa83428666ee7003",
|
||||
"reference": "6d139d7dfc5b2d479aa7ad74aa83428666ee7003",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1901,7 +1901,7 @@
|
|||
"tomasvotruba\/class-leak": "^0.2.6",
|
||||
"tracy\/tracy": "^2.10"
|
||||
},
|
||||
"time": "2024-01-16T17:28:31+00:00",
|
||||
"time": "2024-01-17T00:22:50+00:00",
|
||||
"default-branch": true,
|
||||
"type": "rector-extension",
|
||||
"extra": {
|
||||
|
|
2
vendor/composer/installed.php
vendored
2
vendor/composer/installed.php
vendored
File diff suppressed because one or more lines are too long
|
@ -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/rector-build/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => NULL, 'version' => 'dev-main b419ce7'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => NULL, 'version' => 'dev-main 51ff6e7'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => NULL, 'version' => 'dev-main 4581a9a'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => NULL, 'version' => 'dev-main 147897b'));
|
||||
public const EXTENSIONS = array('rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => NULL, 'version' => 'dev-main b419ce7'), 'rector/rector-downgrade-php' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-downgrade-php', 'relative_install_path' => '../../rector-downgrade-php', 'extra' => NULL, 'version' => 'dev-main 51ff6e7'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => NULL, 'version' => 'dev-main 4581a9a'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/rector-build/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => NULL, 'version' => 'dev-main 6d139d7'));
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ use Rector\Rector\AbstractRector;
|
|||
use Rector\Symfony\CodeQuality\NodeFactory\SymfonyClosureFactory;
|
||||
use Rector\Symfony\Configs\ConfigArrayHandler\NestedConfigCallsFactory;
|
||||
use Rector\Symfony\Configs\ConfigArrayHandler\SecurityAccessDecisionManagerConfigArrayHandler;
|
||||
use Rector\Symfony\Configs\Enum\DoctrineConfigKey;
|
||||
use Rector\Symfony\Configs\Enum\SecurityConfigKey;
|
||||
use Rector\Symfony\NodeAnalyzer\SymfonyClosureExtensionMatcher;
|
||||
use Rector\Symfony\NodeAnalyzer\SymfonyPhpClosureDetector;
|
||||
|
@ -145,15 +146,15 @@ CODE_SAMPLE
|
|||
$splitMany = \false;
|
||||
$nested = \false;
|
||||
// doctrine
|
||||
if (\in_array($key, ['dbal', 'orm'], \true)) {
|
||||
if (\in_array($key, [DoctrineConfigKey::DBAL, DoctrineConfigKey::ORM], \true)) {
|
||||
$methodCallName = $key;
|
||||
$splitMany = \true;
|
||||
$nested = \true;
|
||||
} elseif ($key === 'providers') {
|
||||
$methodCallName = 'provider';
|
||||
} elseif ($key === SecurityConfigKey::PROVIDERS) {
|
||||
$methodCallName = SecurityConfigKey::PROVIDER;
|
||||
$splitMany = \true;
|
||||
} elseif ($key === 'firewalls') {
|
||||
$methodCallName = 'firewall';
|
||||
} elseif ($key === SecurityConfigKey::FIREWALLS) {
|
||||
$methodCallName = SecurityConfigKey::FIREWALL;
|
||||
$splitMany = \true;
|
||||
} elseif ($key === SecurityConfigKey::ACCESS_CONTROL) {
|
||||
$splitMany = \true;
|
||||
|
@ -171,7 +172,9 @@ CODE_SAMPLE
|
|||
}
|
||||
if ($splitMany) {
|
||||
if ($nested) {
|
||||
$configVariable = new MethodCall($configVariable, $methodCallName);
|
||||
$currentConfigCaller = new MethodCall($configVariable, $methodCallName);
|
||||
} else {
|
||||
$currentConfigCaller = $configVariable;
|
||||
}
|
||||
foreach ($value as $itemName => $itemConfiguration) {
|
||||
if ($nested && \is_array($itemConfiguration)) {
|
||||
|
@ -181,11 +184,11 @@ CODE_SAMPLE
|
|||
// simple call
|
||||
$args = $this->nodeFactory->createArgs([$itemConfiguration]);
|
||||
$itemName = StringUtils::underscoreToCamelCase($itemName);
|
||||
$methodCall = new MethodCall($configVariable, $itemName, $args);
|
||||
$methodCall = new MethodCall($currentConfigCaller, $itemName, $args);
|
||||
$methodCallStmts[] = new Expression($methodCall);
|
||||
continue;
|
||||
}
|
||||
$nextMethodCallExpressions = $this->nestedConfigCallsFactory->create([$itemName, $itemConfiguration], $configVariable, $methodCallName);
|
||||
$nextMethodCallExpressions = $this->nestedConfigCallsFactory->create([$itemConfiguration], $currentConfigCaller, $methodCallName);
|
||||
$methodCallStmts = \array_merge($methodCallStmts, $nextMethodCallExpressions);
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -7,7 +7,10 @@ use PhpParser\Node\Expr\MethodCall;
|
|||
use PhpParser\Node\Expr\Variable;
|
||||
use PhpParser\Node\Stmt\Expression;
|
||||
use Rector\PhpParser\Node\NodeFactory;
|
||||
use Rector\Symfony\Configs\Enum\GroupingMethods;
|
||||
use Rector\Symfony\Configs\Enum\SecurityConfigKey;
|
||||
use Rector\Symfony\Utils\StringUtils;
|
||||
use RectorPrefix202401\Webmozart\Assert\Assert;
|
||||
final class NestedConfigCallsFactory
|
||||
{
|
||||
/**
|
||||
|
@ -15,10 +18,6 @@ final class NestedConfigCallsFactory
|
|||
* @var \Rector\PhpParser\Node\NodeFactory
|
||||
*/
|
||||
private $nodeFactory;
|
||||
/**
|
||||
* @var array<string, string>
|
||||
*/
|
||||
private const GROUPING_METHOD_NAME_TO_SPLIT = ['connections' => 'connection', 'entity_managers' => 'entityManager'];
|
||||
public function __construct(NodeFactory $nodeFactory)
|
||||
{
|
||||
$this->nodeFactory = $nodeFactory;
|
||||
|
@ -30,39 +29,78 @@ final class NestedConfigCallsFactory
|
|||
*/
|
||||
public function create(array $values, $configCaller, string $mainMethodName) : array
|
||||
{
|
||||
unset($values[0]);
|
||||
$methodCallStmts = [];
|
||||
foreach ($values as $value) {
|
||||
if (\is_array($value)) {
|
||||
// doctrine
|
||||
foreach (self::GROUPING_METHOD_NAME_TO_SPLIT as $groupingMethodName => $splitMethodName) {
|
||||
foreach (GroupingMethods::GROUPING_METHOD_NAME_TO_SPLIT as $groupingMethodName => $splitMethodName) {
|
||||
if ($mainMethodName === $groupingMethodName) {
|
||||
// @possibly here
|
||||
foreach ($value as $connectionName => $connectionConfiguration) {
|
||||
$connectionArgs = $this->nodeFactory->createArgs([$connectionName]);
|
||||
$connectionMethodCall = new MethodCall($configCaller, $splitMethodName, $connectionArgs);
|
||||
foreach ($connectionConfiguration as $configurationMethod => $configurationValue) {
|
||||
$configurationMethod = StringUtils::underscoreToCamelCase($configurationMethod);
|
||||
$args = $this->nodeFactory->createArgs([$configurationValue]);
|
||||
$connectionMethodCall = new MethodCall($connectionMethodCall, $configurationMethod, $args);
|
||||
}
|
||||
$connectionMethodCall = $this->createMainMethodCall($connectionConfiguration, $connectionMethodCall);
|
||||
$methodCallStmts[] = new Expression($connectionMethodCall);
|
||||
}
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
$mainMethodCall = new MethodCall($configCaller, $mainMethodName);
|
||||
foreach ($value as $methodName => $parameters) {
|
||||
// security
|
||||
if ($methodName === 'role') {
|
||||
$methodName = 'roles';
|
||||
$parameters = [$parameters];
|
||||
}
|
||||
$args = $this->nodeFactory->createArgs([$parameters]);
|
||||
$mainMethodCall = new MethodCall($mainMethodCall, $methodName, $args);
|
||||
}
|
||||
$mainMethodCall = $this->createMainMethodCall($value, $mainMethodCall);
|
||||
$methodCallStmts[] = new Expression($mainMethodCall);
|
||||
}
|
||||
}
|
||||
return $methodCallStmts;
|
||||
}
|
||||
/**
|
||||
* @param array<mixed, mixed> $value
|
||||
*/
|
||||
private function createMainMethodCall(array $value, MethodCall $mainMethodCall) : MethodCall
|
||||
{
|
||||
foreach ($value as $methodName => $parameters) {
|
||||
// security
|
||||
if ($methodName === SecurityConfigKey::ROLE) {
|
||||
$methodName = SecurityConfigKey::ROLES;
|
||||
$parameters = [$parameters];
|
||||
} else {
|
||||
Assert::string($methodName);
|
||||
$methodName = StringUtils::underscoreToCamelCase($methodName);
|
||||
}
|
||||
if (isset(GroupingMethods::GROUPING_METHOD_NAME_TO_SPLIT[$methodName])) {
|
||||
$splitMethodName = GroupingMethods::GROUPING_METHOD_NAME_TO_SPLIT[$methodName];
|
||||
\reset($parameters);
|
||||
$itemName = \key($parameters);
|
||||
$args = $this->nodeFactory->createArgs([$itemName]);
|
||||
$parameters = $parameters[$itemName];
|
||||
$mainMethodCall = new MethodCall($mainMethodCall, $splitMethodName, $args);
|
||||
return $this->createMainMethodCall($parameters, $mainMethodCall);
|
||||
}
|
||||
// traverse nested arrays with recursion call
|
||||
$arrayIsListFunction = function (array $array) : bool {
|
||||
if (\function_exists('array_is_list')) {
|
||||
return \array_is_list($array);
|
||||
}
|
||||
if ($array === []) {
|
||||
return \true;
|
||||
}
|
||||
$current_key = 0;
|
||||
foreach ($array as $key => $noop) {
|
||||
if ($key !== $current_key) {
|
||||
return \false;
|
||||
}
|
||||
++$current_key;
|
||||
}
|
||||
return \true;
|
||||
};
|
||||
// traverse nested arrays with recursion call
|
||||
if (\is_array($parameters) && !$arrayIsListFunction($parameters)) {
|
||||
$mainMethodCall = new MethodCall($mainMethodCall, $methodName);
|
||||
$mainMethodCall = $this->createMainMethodCall($parameters, $mainMethodCall);
|
||||
continue;
|
||||
}
|
||||
$args = $this->nodeFactory->createArgs([$parameters]);
|
||||
$mainMethodCall = new MethodCall($mainMethodCall, $methodName, $args);
|
||||
}
|
||||
return $mainMethodCall;
|
||||
}
|
||||
}
|
||||
|
|
16
vendor/rector/rector-symfony/rules/Configs/Enum/DoctrineConfigKey.php
vendored
Normal file
16
vendor/rector/rector-symfony/rules/Configs/Enum/DoctrineConfigKey.php
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Symfony\Configs\Enum;
|
||||
|
||||
final class DoctrineConfigKey
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const DBAL = 'dbal';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const ORM = 'orm';
|
||||
}
|
12
vendor/rector/rector-symfony/rules/Configs/Enum/GroupingMethods.php
vendored
Normal file
12
vendor/rector/rector-symfony/rules/Configs/Enum/GroupingMethods.php
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Symfony\Configs\Enum;
|
||||
|
||||
final class GroupingMethods
|
||||
{
|
||||
/**
|
||||
* @var array<string, string>
|
||||
*/
|
||||
public const GROUPING_METHOD_NAME_TO_SPLIT = ['connections' => 'connection', 'entity_managers' => 'entityManager', 'mappings' => 'mapping'];
|
||||
}
|
|
@ -17,4 +17,28 @@ final class SecurityConfigKey
|
|||
* @var string
|
||||
*/
|
||||
public const ENTITY = 'entity';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const ROLE = 'role';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const ROLES = 'roles';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const FIREWALLS = 'firewalls';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const FIREWALL = 'firewall';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const PROVIDERS = 'providers';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const PROVIDER = 'provider';
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user