Updated Rector to commit 4d9b7e841f026d0566ba7afa356503e7d4466e15

4d9b7e841f [Renaming] Remove RenameClassRector::processCleanUpUse() as already covered on ClassRenamingPostRector (#3463)
This commit is contained in:
Tomas Votruba 2023-03-08 07:33:37 +00:00
parent c086693921
commit e6981ca53c
10 changed files with 44 additions and 63 deletions

View File

@ -53,6 +53,11 @@ final class UnusedImportRemovingPostRector extends \Rector\PostRector\Rector\Abs
if (!$namespaceStmt instanceof Use_) {
continue;
}
if ($namespaceStmt->uses === []) {
unset($node->stmts[$key]);
$hasChanged = \true;
continue;
}
$useUse = $namespaceStmt->uses[0];
// skip aliased imports, harder to check
if ($useUse->alias !== null) {

View File

@ -5,14 +5,12 @@ namespace Rector\Renaming\Rector\Name;
use PhpParser\Node;
use PhpParser\Node\FunctionLike;
use PhpParser\Node\Identifier;
use PhpParser\Node\Name;
use PhpParser\Node\Stmt\ClassLike;
use PhpParser\Node\Stmt\Expression;
use PhpParser\Node\Stmt\Namespace_;
use PhpParser\Node\Stmt\Property;
use PhpParser\Node\Stmt\Use_;
use Rector\Core\Configuration\RectorConfigProvider;
use Rector\Core\Configuration\RenamedClassesDataCollector;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\PhpParser\Node\CustomNode\FileWithoutNamespace;
@ -42,21 +40,15 @@ final class RenameClassRector extends AbstractRector implements ConfigurableRect
* @var \Rector\Renaming\NodeManipulator\ClassRenamer
*/
private $classRenamer;
/**
* @readonly
* @var \Rector\Core\Configuration\RectorConfigProvider
*/
private $rectorConfigProvider;
/**
* @readonly
* @var \Rector\Renaming\Helper\RenameClassCallbackHandler
*/
private $renameClassCallbackHandler;
public function __construct(RenamedClassesDataCollector $renamedClassesDataCollector, ClassRenamer $classRenamer, RectorConfigProvider $rectorConfigProvider, RenameClassCallbackHandler $renameClassCallbackHandler)
public function __construct(RenamedClassesDataCollector $renamedClassesDataCollector, ClassRenamer $classRenamer, RenameClassCallbackHandler $renameClassCallbackHandler)
{
$this->renamedClassesDataCollector = $renamedClassesDataCollector;
$this->classRenamer = $classRenamer;
$this->rectorConfigProvider = $rectorConfigProvider;
$this->renameClassCallbackHandler = $renameClassCallbackHandler;
}
public function getRuleDefinition() : RuleDefinition
@ -95,21 +87,18 @@ CODE_SAMPLE
return [Name::class, Property::class, FunctionLike::class, Expression::class, ClassLike::class, Namespace_::class, FileWithoutNamespace::class, Use_::class];
}
/**
* @param FunctionLike|Name|ClassLike|Expression|Namespace_|Property|FileWithoutNamespace|Use_ $node
* @param FunctionLike|Name|ClassLike|Expression|Namespace_|Property|FileWithoutNamespace $node
*/
public function refactor(Node $node) : ?Node
{
$oldToNewClasses = $this->renamedClassesDataCollector->getOldToNewClasses();
if ($oldToNewClasses === [] && !$this->renameClassCallbackHandler->hasOldToNewClassCallbacks()) {
return null;
}
if (!$node instanceof Use_) {
if ($oldToNewClasses !== []) {
return $this->classRenamer->renameNode($node, $oldToNewClasses);
}
if (!$this->rectorConfigProvider->shouldImportNames()) {
return null;
if ($this->renameClassCallbackHandler->hasOldToNewClassCallbacks()) {
return $this->classRenamer->renameNode($node, $oldToNewClasses);
}
return $this->processCleanUpUse($node, $oldToNewClasses);
return null;
}
/**
* @param mixed[] $configuration
@ -128,19 +117,6 @@ CODE_SAMPLE
Assert::allString(\array_keys($configuration));
$this->addOldToNewClasses($configuration);
}
/**
* @param array<string, string> $oldToNewClasses
*/
private function processCleanUpUse(Use_ $use, array $oldToNewClasses) : ?Use_
{
foreach ($use->uses as $useUse) {
if (!$useUse->alias instanceof Identifier && isset($oldToNewClasses[$useUse->name->toString()])) {
$this->removeNode($use);
return $use;
}
}
return null;
}
/**
* @param mixed[] $oldToNewClasses
*/

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = '1142c99af7380356e2d1c8e572fb6d19830db51f';
public const PACKAGE_VERSION = '4d9b7e841f026d0566ba7afa356503e7d4466e15';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-03-07 20:32:17';
public const RELEASE_DATE = '2023-03-08 07:29:14';
/**
* @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 ComposerAutoloaderInit386003d77a5489d3bd1614d053542b50::getLoader();
return ComposerAutoloaderInitca32a38931521ff98ac51eaeba4e9436::getLoader();

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit386003d77a5489d3bd1614d053542b50
class ComposerAutoloaderInitca32a38931521ff98ac51eaeba4e9436
{
private static $loader;
@ -22,17 +22,17 @@ class ComposerAutoloaderInit386003d77a5489d3bd1614d053542b50
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit386003d77a5489d3bd1614d053542b50', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitca32a38931521ff98ac51eaeba4e9436', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit386003d77a5489d3bd1614d053542b50', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitca32a38931521ff98ac51eaeba4e9436', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit386003d77a5489d3bd1614d053542b50::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitca32a38931521ff98ac51eaeba4e9436::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInit386003d77a5489d3bd1614d053542b50::$files;
$filesToLoad = \Composer\Autoload\ComposerStaticInitca32a38931521ff98ac51eaeba4e9436::$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 ComposerStaticInit386003d77a5489d3bd1614d053542b50
class ComposerStaticInitca32a38931521ff98ac51eaeba4e9436
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@ -3133,9 +3133,9 @@ class ComposerStaticInit386003d77a5489d3bd1614d053542b50
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit386003d77a5489d3bd1614d053542b50::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit386003d77a5489d3bd1614d053542b50::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit386003d77a5489d3bd1614d053542b50::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitca32a38931521ff98ac51eaeba4e9436::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitca32a38931521ff98ac51eaeba4e9436::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitca32a38931521ff98ac51eaeba4e9436::$classMap;
}, null, ClassLoader::class);
}

View File

@ -869,17 +869,17 @@
},
{
"name": "phpstan\/phpstan",
"version": "1.10.4",
"version_normalized": "1.10.4.0",
"version": "1.10.5",
"version_normalized": "1.10.5.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/phpstan\/phpstan.git",
"reference": "8d39218664b45a4a42d5be66d2b63dcf8c149982"
"reference": "1fb6f494d82455151ecf15c5c191923f5d84324e"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan\/zipball\/8d39218664b45a4a42d5be66d2b63dcf8c149982",
"reference": "8d39218664b45a4a42d5be66d2b63dcf8c149982",
"url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan\/zipball\/1fb6f494d82455151ecf15c5c191923f5d84324e",
"reference": "1fb6f494d82455151ecf15c5c191923f5d84324e",
"shasum": ""
},
"require": {
@ -888,7 +888,7 @@
"conflict": {
"phpstan\/phpstan-shim": "*"
},
"time": "2023-03-06T13:39:20+00:00",
"time": "2023-03-07T16:48:45+00:00",
"bin": [
"phpstan",
"phpstan.phar"
@ -911,7 +911,7 @@
],
"support": {
"issues": "https:\/\/github.com\/phpstan\/phpstan\/issues",
"source": "https:\/\/github.com\/phpstan\/phpstan\/tree\/1.10.4"
"source": "https:\/\/github.com\/phpstan\/phpstan\/tree\/1.10.5"
},
"funding": [
{

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1,16 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmQF7PIACgkQzxoQjQ56
5yAFRA//frPCXthGqDChSiuTqj+6mkh2Dono+yV68DPXcceYH5oSoArnJbxu47a3
2r7p0hg8SCGpx1C9dAbPL+LzU9xnQiI+iscd6hhsFOxrzkwId8N7rExUvZgf1CCO
CKHu7jonEMJyTyD/ZDbg8jivbsu/x4jEsO21+cWyiyNUIst/PVUxlAtiBy4IBCC0
698Nt6S8/xfkPv36HlZbNcnufgJC7wQCTWi1mMvr8RaY+XQ8uh0QKXWYR7wkXd97
yQgQugDVBn+ycvk4akxLVzzME0lYAn09QA0ekon2kt5hDLSBTtkZi1D2hz/N+pz9
jtZ25aZuTHLlgSTn93LzBqxS2Fy8/v5huk6yO3eJGHKlck2Zi/ZViupFBLk7qP8c
6c+L9hiaU0Pa2p0OqwqSd9fUbuphoW9X6IYVzHwJ8m7mcC5/4Z9D8meaxWO8jLkL
KHvK1MybLSvl6R0rYkviGCpkx6ep2ZFQyOKtFkN+6zZLJu94uSas/UOXuEF8TJFe
xpUcTp5QQeexEGQF3PebMAy+4ViXhsvZ89vE/vQKgOCRCtF5YEVlbJCSho1+t141
64E4ooU/OD1yRl3dWeM5ySE+b+xk8obfYmQdaPOtYxFYLOR2KQgxfkAP1IT45yFv
HJaImlfwavV3U53G+Q/bTwa4d3eHhJZz0lgbBAd0+bJExwmFtuE=
=sqgE
iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmQHatYACgkQzxoQjQ56
5yAU7A/8CLVE46kub8QEP/s8/w9T4uOyG1vsFwv9dafa4PySyvhZCr/vliCuYyF9
JUUSXqyGIFi+VKsuY8y7u5zaVqpq6O6qJBkzsUK/X9BHZfFEo1k2v/NNJD7t3p0b
or5u9bOTlSJnXV+1hPNjkW4wcnxR6kuJQIoz9XwNsQC07mPVxNrHknxnkgGFVDNR
ITjpW3rBW3vRtoOWajPJMXZt6f+pJCl8ccISK97gskAzK75t2Ymle9fV9FdQYGWt
8X/gfQtVfJOkEmHV6F+pUE9o++aNCPljNo1O+1eS62TTOSRlS6fNhppu/o7Z4IIi
9QS3DHhDTGQPLUCXbMToK/kwRCAzDe9lFgjpKIUQhmEGKOjTNup2NPqWGtQNQj7h
WTP6W2GNpGh5g+d7Tm667FKej/AgixwvpdJqR1VGk2PI2EYMryMz17nQ1cvGinOW
X3auWZe/HWuyqFtt5r85ffZGVS/4xKxeAK85HPrn3mzotiXr/KZf8S525BuGqUaZ
lQ7paCM6kZ9rn9vMmLEe57Ypl7bMzfUV6c2k5KYYR2EV9LXzNPS9G7Yhpg/Q3G2S
cTqxKuBk+hvXd3rp4OwzrjAUps8w4XzyHBpDl9k1n2oB+1Plygrkew8Z5CRglTL4
lSQAD2FLSTEAvPcFi3kkiBxxeoXSSnjP2iruPsAkcfzsENBFTdM=
=4/CB
-----END PGP SIGNATURE-----