mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-02 01:10:53 +00:00
Updated Rector to commit 92a992ef6e5c5350a0e6de2b4e844e21f072fb1b
92a992ef6e
[NodeManipulator] Clean up AssignManipulator take 2 (#3696)
This commit is contained in:
parent
a4e6a42d08
commit
d73b4dcf29
|
@ -145,7 +145,7 @@ final class ForAnalyzer
|
|||
if (!$parentNode instanceof Node) {
|
||||
return \false;
|
||||
}
|
||||
if ($this->assignManipulator->isNodePartOfAssign($parentNode)) {
|
||||
if ($this->assignManipulator->isLeftPartOfAssign($arrayDimFetch)) {
|
||||
return \true;
|
||||
}
|
||||
return $this->isArgParentCount($parentNode);
|
||||
|
|
|
@ -19,12 +19,12 @@ final class VersionResolver
|
|||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '14b6073057861d5547610084eb59a7b1826d2ad8';
|
||||
public const PACKAGE_VERSION = '92a992ef6e5c5350a0e6de2b4e844e21f072fb1b';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2023-04-28 10:48:20';
|
||||
public const RELEASE_DATE = '2023-04-28 17:10:34';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
|
@ -19,9 +19,7 @@ use PhpParser\Node\Expr\PreInc;
|
|||
use PhpParser\Node\Expr\PropertyFetch;
|
||||
use PhpParser\Node\Expr\StaticPropertyFetch;
|
||||
use PhpParser\Node\FunctionLike;
|
||||
use PhpParser\Node\Stmt\Expression;
|
||||
use Rector\Core\NodeAnalyzer\PropertyFetchAnalyzer;
|
||||
use Rector\Core\PhpParser\Comparing\NodeComparator;
|
||||
use Rector\Core\PhpParser\Node\BetterNodeFinder;
|
||||
use Rector\Core\Util\MultiInstanceofChecker;
|
||||
use Rector\NodeNameResolver\NodeNameResolver;
|
||||
|
@ -31,17 +29,12 @@ final class AssignManipulator
|
|||
/**
|
||||
* @var array<class-string<Expr>>
|
||||
*/
|
||||
private const MODIFYING_NODE_TYPES = [AssignOp::class, PreDec::class, PostDec::class, PreInc::class, PostInc::class];
|
||||
private const MODIFYING_NODE_TYPES = [Assign::class, AssignOp::class, PreDec::class, PostDec::class, PreInc::class, PostInc::class];
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeNameResolver\NodeNameResolver
|
||||
*/
|
||||
private $nodeNameResolver;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\PhpParser\Comparing\NodeComparator
|
||||
*/
|
||||
private $nodeComparator;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\PhpParser\Node\BetterNodeFinder
|
||||
|
@ -57,10 +50,9 @@ final class AssignManipulator
|
|||
* @var \Rector\Core\Util\MultiInstanceofChecker
|
||||
*/
|
||||
private $multiInstanceofChecker;
|
||||
public function __construct(NodeNameResolver $nodeNameResolver, NodeComparator $nodeComparator, BetterNodeFinder $betterNodeFinder, PropertyFetchAnalyzer $propertyFetchAnalyzer, MultiInstanceofChecker $multiInstanceofChecker)
|
||||
public function __construct(NodeNameResolver $nodeNameResolver, BetterNodeFinder $betterNodeFinder, PropertyFetchAnalyzer $propertyFetchAnalyzer, MultiInstanceofChecker $multiInstanceofChecker)
|
||||
{
|
||||
$this->nodeNameResolver = $nodeNameResolver;
|
||||
$this->nodeComparator = $nodeComparator;
|
||||
$this->betterNodeFinder = $betterNodeFinder;
|
||||
$this->propertyFetchAnalyzer = $propertyFetchAnalyzer;
|
||||
$this->multiInstanceofChecker = $multiInstanceofChecker;
|
||||
|
@ -82,11 +74,9 @@ final class AssignManipulator
|
|||
public function isLeftPartOfAssign(Node $node) : bool
|
||||
{
|
||||
$parentNode = $node->getAttribute(AttributeKey::PARENT_NODE);
|
||||
if ($parentNode instanceof Assign || $parentNode instanceof AssignOp) {
|
||||
return $this->nodeComparator->areNodesEqual($parentNode->var, $node);
|
||||
}
|
||||
if ($parentNode instanceof Node && $this->multiInstanceofChecker->isInstanceOf($parentNode, self::MODIFYING_NODE_TYPES)) {
|
||||
return \true;
|
||||
/** @var Assign|AssignOp|PreDec|PostDec|PreInc|PostInc $parentNode */
|
||||
return $parentNode->var === $node;
|
||||
}
|
||||
if ($this->isOnArrayDestructuring($parentNode)) {
|
||||
return \true;
|
||||
|
@ -98,27 +88,13 @@ final class AssignManipulator
|
|||
$previousParent = $parentNode;
|
||||
$parentNode = $parentNode->getAttribute(AttributeKey::PARENT_NODE);
|
||||
}
|
||||
$item1Unpacked = self::MODIFYING_NODE_TYPES;
|
||||
if ($parentNode instanceof Node && $this->multiInstanceofChecker->isInstanceOf($parentNode, \array_merge([Assign::class], $item1Unpacked))) {
|
||||
if ($parentNode instanceof Node && $this->multiInstanceofChecker->isInstanceOf($parentNode, self::MODIFYING_NODE_TYPES)) {
|
||||
/** @var Assign|AssignOp|PreDec|PostDec|PreInc|PostInc $parentNode */
|
||||
return $parentNode->var === $previousParent;
|
||||
}
|
||||
}
|
||||
return \false;
|
||||
}
|
||||
public function isNodePartOfAssign(Node $node) : bool
|
||||
{
|
||||
$previousNode = $node;
|
||||
$parentNode = $node->getAttribute(AttributeKey::PARENT_NODE);
|
||||
while ($parentNode instanceof Node && !$parentNode instanceof Expression) {
|
||||
if ($parentNode instanceof Assign && $this->nodeComparator->areNodesEqual($parentNode->var, $previousNode)) {
|
||||
return \true;
|
||||
}
|
||||
$previousNode = $parentNode;
|
||||
$parentNode = $parentNode->getAttribute(AttributeKey::PARENT_NODE);
|
||||
}
|
||||
return \false;
|
||||
}
|
||||
/**
|
||||
* @api doctrine
|
||||
* @return array<PropertyFetch|StaticPropertyFetch>
|
||||
|
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
|
@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
|
|||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInitf167373a28fac5d4ba8c412064d9b2b8::getLoader();
|
||||
return ComposerAutoloaderInita8ee314711efb8ec289a213de4a955f6::getLoader();
|
||||
|
|
10
vendor/composer/autoload_real.php
vendored
10
vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
|||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInitf167373a28fac5d4ba8c412064d9b2b8
|
||||
class ComposerAutoloaderInita8ee314711efb8ec289a213de4a955f6
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
|
@ -22,17 +22,17 @@ class ComposerAutoloaderInitf167373a28fac5d4ba8c412064d9b2b8
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInitf167373a28fac5d4ba8c412064d9b2b8', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInita8ee314711efb8ec289a213de4a955f6', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitf167373a28fac5d4ba8c412064d9b2b8', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInita8ee314711efb8ec289a213de4a955f6', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitf167373a28fac5d4ba8c412064d9b2b8::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInita8ee314711efb8ec289a213de4a955f6::getInitializer($loader));
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->register(true);
|
||||
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInitf167373a28fac5d4ba8c412064d9b2b8::$files;
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInita8ee314711efb8ec289a213de4a955f6::$files;
|
||||
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
|
8
vendor/composer/autoload_static.php
vendored
8
vendor/composer/autoload_static.php
vendored
|
@ -4,7 +4,7 @@
|
|||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInitf167373a28fac5d4ba8c412064d9b2b8
|
||||
class ComposerStaticInita8ee314711efb8ec289a213de4a955f6
|
||||
{
|
||||
public static $files = array (
|
||||
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
||||
|
@ -3152,9 +3152,9 @@ class ComposerStaticInitf167373a28fac5d4ba8c412064d9b2b8
|
|||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInitf167373a28fac5d4ba8c412064d9b2b8::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitf167373a28fac5d4ba8c412064d9b2b8::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInitf167373a28fac5d4ba8c412064d9b2b8::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInita8ee314711efb8ec289a213de4a955f6::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInita8ee314711efb8ec289a213de4a955f6::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInita8ee314711efb8ec289a213de4a955f6::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user