From bfd8f1a220655d5fe8c13193f3d9cad9d7855b92 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Wed, 31 May 2023 13:27:13 +0000 Subject: [PATCH] Updated Rector to commit bdc2fc99631f67eeb2d96e2cf0906279c2561c9a https://github.com/rectorphp/rector-src/commit/bdc2fc99631f67eeb2d96e2cf0906279c2561c9a [NodeManipulator] Remove parent lookup on PropertyFetchAssignManipulator (#4037) --- .../Rector/Property/ReadOnlyPropertyRector.php | 2 +- src/Application/VersionResolver.php | 4 ++-- src/Kernel/RectorKernel.php | 2 +- .../PropertyFetchAssignManipulator.php | 18 +++--------------- vendor/autoload.php | 2 +- vendor/composer/autoload_real.php | 10 +++++----- vendor/composer/autoload_static.php | 8 ++++---- 7 files changed, 17 insertions(+), 29 deletions(-) diff --git a/rules/Php81/Rector/Property/ReadOnlyPropertyRector.php b/rules/Php81/Rector/Property/ReadOnlyPropertyRector.php index 1ed45373558..7e1baadbb4f 100644 --- a/rules/Php81/Rector/Property/ReadOnlyPropertyRector.php +++ b/rules/Php81/Rector/Property/ReadOnlyPropertyRector.php @@ -162,7 +162,7 @@ CODE_SAMPLE if ($this->propertyManipulator->isPropertyChangeableExceptConstructor($class, $property, $scope)) { return null; } - if ($this->propertyFetchAssignManipulator->isAssignedMultipleTimesInConstructor($property)) { + if ($this->propertyFetchAssignManipulator->isAssignedMultipleTimesInConstructor($class, $property)) { return null; } if ($this->shouldSkipInReadonlyClass($property)) { diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 4d6012b8385..d71f3ecd08a 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -19,12 +19,12 @@ final class VersionResolver * @api * @var string */ - public const PACKAGE_VERSION = '81e8c74b0ea2a107db681ee21c13925837b84abc'; + public const PACKAGE_VERSION = 'bdc2fc99631f67eeb2d96e2cf0906279c2561c9a'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-05-31 13:15:27'; + public const RELEASE_DATE = '2023-05-31 13:22:39'; /** * @var int */ diff --git a/src/Kernel/RectorKernel.php b/src/Kernel/RectorKernel.php index cbd6ab5c6cd..79c500071fe 100644 --- a/src/Kernel/RectorKernel.php +++ b/src/Kernel/RectorKernel.php @@ -15,7 +15,7 @@ final class RectorKernel /** * @var string */ - private const CACHE_KEY = 'v43'; + private const CACHE_KEY = 'v44'; /** * @var \Symfony\Component\DependencyInjection\ContainerInterface|null */ diff --git a/src/NodeManipulator/PropertyFetchAssignManipulator.php b/src/NodeManipulator/PropertyFetchAssignManipulator.php index a66e962fdac..86f87cc5a38 100644 --- a/src/NodeManipulator/PropertyFetchAssignManipulator.php +++ b/src/NodeManipulator/PropertyFetchAssignManipulator.php @@ -6,13 +6,11 @@ namespace Rector\Core\NodeManipulator; use PhpParser\Node; use PhpParser\Node\Expr\Assign; use PhpParser\Node\Stmt\Class_; -use PhpParser\Node\Stmt\ClassLike; use PhpParser\Node\Stmt\ClassMethod; use PhpParser\Node\Stmt\Function_; use PhpParser\Node\Stmt\Property; use PhpParser\NodeTraverser; use Rector\Core\NodeAnalyzer\PropertyFetchAnalyzer; -use Rector\Core\PhpParser\Node\BetterNodeFinder; use Rector\Core\ValueObject\MethodName; use Rector\NodeNameResolver\NodeNameResolver; use Rector\PhpDocParser\NodeTraverser\SimpleCallableNodeTraverser; @@ -28,30 +26,20 @@ final class PropertyFetchAssignManipulator * @var \Rector\NodeNameResolver\NodeNameResolver */ private $nodeNameResolver; - /** - * @readonly - * @var \Rector\Core\PhpParser\Node\BetterNodeFinder - */ - private $betterNodeFinder; /** * @readonly * @var \Rector\Core\NodeAnalyzer\PropertyFetchAnalyzer */ private $propertyFetchAnalyzer; - public function __construct(SimpleCallableNodeTraverser $simpleCallableNodeTraverser, NodeNameResolver $nodeNameResolver, BetterNodeFinder $betterNodeFinder, PropertyFetchAnalyzer $propertyFetchAnalyzer) + public function __construct(SimpleCallableNodeTraverser $simpleCallableNodeTraverser, NodeNameResolver $nodeNameResolver, PropertyFetchAnalyzer $propertyFetchAnalyzer) { $this->simpleCallableNodeTraverser = $simpleCallableNodeTraverser; $this->nodeNameResolver = $nodeNameResolver; - $this->betterNodeFinder = $betterNodeFinder; $this->propertyFetchAnalyzer = $propertyFetchAnalyzer; } - public function isAssignedMultipleTimesInConstructor(Property $property) : bool + public function isAssignedMultipleTimesInConstructor(Class_ $class, Property $property) : bool { - $classLike = $this->betterNodeFinder->findParentType($property, ClassLike::class); - if (!$classLike instanceof ClassLike) { - return \false; - } - $classMethod = $classLike->getMethod(MethodName::CONSTRUCT); + $classMethod = $class->getMethod(MethodName::CONSTRUCT); if (!$classMethod instanceof ClassMethod) { return \false; } diff --git a/vendor/autoload.php b/vendor/autoload.php index f7396da822e..1073a486992 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit79d6ac6df0b20288ba3e1e8745c6e242::getLoader(); +return ComposerAutoloaderInit36269e6cb2578ea9f157e3d6515171a3::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 43b37125ba5..99e5277bc5d 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit79d6ac6df0b20288ba3e1e8745c6e242 +class ComposerAutoloaderInit36269e6cb2578ea9f157e3d6515171a3 { private static $loader; @@ -22,17 +22,17 @@ class ComposerAutoloaderInit79d6ac6df0b20288ba3e1e8745c6e242 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit79d6ac6df0b20288ba3e1e8745c6e242', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit36269e6cb2578ea9f157e3d6515171a3', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit79d6ac6df0b20288ba3e1e8745c6e242', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit36269e6cb2578ea9f157e3d6515171a3', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit79d6ac6df0b20288ba3e1e8745c6e242::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit36269e6cb2578ea9f157e3d6515171a3::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInit79d6ac6df0b20288ba3e1e8745c6e242::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit36269e6cb2578ea9f157e3d6515171a3::$files; $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 254bb0a5ccc..681e99de615 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit79d6ac6df0b20288ba3e1e8745c6e242 +class ComposerStaticInit36269e6cb2578ea9f157e3d6515171a3 { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -3062,9 +3062,9 @@ class ComposerStaticInit79d6ac6df0b20288ba3e1e8745c6e242 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit79d6ac6df0b20288ba3e1e8745c6e242::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit79d6ac6df0b20288ba3e1e8745c6e242::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit79d6ac6df0b20288ba3e1e8745c6e242::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit36269e6cb2578ea9f157e3d6515171a3::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit36269e6cb2578ea9f157e3d6515171a3::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit36269e6cb2578ea9f157e3d6515171a3::$classMap; }, null, ClassLoader::class); }