Updated Rector to commit f429e2811c97689001f45c420d1d674322d00822

f429e2811c Remove use imports directly (#4008)
This commit is contained in:
Tomas Votruba 2023-05-29 06:32:46 +00:00
parent b4e067384d
commit 969127f9a6
7 changed files with 27 additions and 30 deletions

View File

@ -33,6 +33,9 @@ final class NodeRemover
$this->nodesToRemoveCollector = $nodesToRemoveCollector;
$this->rectorChangeCollector = $rectorChangeCollector;
}
/**
* @deprecated Return NodeTraverser::* to remove node directly instead
*/
public function removeNode(Node $node) : void
{
// this make sure to keep just added nodes, e.g. added class constant, that doesn't have analysis of full code in this run

View File

@ -98,7 +98,7 @@ final class ClassRenamingPostRector extends \Rector\PostRector\Rector\AbstractPo
return $result;
}
$removedUses = $this->renamedClassesDataCollector->getOldClasses();
$this->useImportsRemover->removeImportsFromStmts($this->rootNode->stmts, $removedUses);
$this->rootNode->stmts = $this->useImportsRemover->removeImportsFromStmts($this->rootNode->stmts, $removedUses);
return $result;
}
public function getRuleDefinition() : RuleDefinition

View File

@ -5,35 +5,31 @@ namespace Rector\CodingStyle\Application;
use PhpParser\Node\Stmt;
use PhpParser\Node\Stmt\Use_;
use Rector\NodeRemoval\NodeRemover;
final class UseImportsRemover
{
/**
* @readonly
* @var \Rector\NodeRemoval\NodeRemover
*/
private $nodeRemover;
public function __construct(NodeRemover $nodeRemover)
{
$this->nodeRemover = $nodeRemover;
}
/**
* @param Stmt[] $stmts
* @param string[] $removedUses
* @return Stmt[]
*/
public function removeImportsFromStmts(array $stmts, array $removedUses) : void
public function removeImportsFromStmts(array $stmts, array $removedUses) : array
{
foreach ($stmts as $stmt) {
foreach ($stmts as $key => $stmt) {
if (!$stmt instanceof Use_) {
continue;
}
$this->removeUseFromUse($removedUses, $stmt);
$stmt = $this->removeUseFromUse($removedUses, $stmt);
// remove empty uses
if ($stmt->uses === []) {
unset($stmts[$key]);
}
}
return $stmts;
}
/**
* @param string[] $removedUses
*/
private function removeUseFromUse(array $removedUses, Use_ $use) : void
private function removeUseFromUse(array $removedUses, Use_ $use) : Use_
{
foreach ($use->uses as $usesKey => $useUse) {
foreach ($removedUses as $removedUse) {
@ -42,8 +38,6 @@ final class UseImportsRemover
}
}
}
if ($use->uses === []) {
$this->nodeRemover->removeNode($use);
}
return $use;
}
}

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = '7891fdab42c174d2443674004396aef362994d4a';
public const PACKAGE_VERSION = 'f429e2811c97689001f45c420d1d674322d00822';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-05-29 07:10:49';
public const RELEASE_DATE = '2023-05-29 06:28: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 ComposerAutoloaderInit9cbda5968d2c4a637c17f2323e474823::getLoader();
return ComposerAutoloaderInitde431eba275ceb2d397b23a8d00be279::getLoader();

View File

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