diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 0e476a8bf4c..37cefe851c5 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -17,12 +17,12 @@ final class VersionResolver * @api * @var string */ - public const PACKAGE_VERSION = '21ead88cdeef5013e635c9e4eb2a22456d6e93e9'; + public const PACKAGE_VERSION = 'e3ff080a96e2efbcd4a62c07b44ef4f950bd023d'; /** * @api * @var string */ - public const RELEASE_DATE = '2022-11-11 14:30:37'; + public const RELEASE_DATE = '2022-11-11 13:38:29'; /** * @var int */ diff --git a/src/PhpParser/Comparing/NodeComparator.php b/src/PhpParser/Comparing/NodeComparator.php index 6759aca07ff..bc74afa2e17 100644 --- a/src/PhpParser/Comparing/NodeComparator.php +++ b/src/PhpParser/Comparing/NodeComparator.php @@ -6,6 +6,7 @@ namespace Rector\Core\PhpParser\Comparing; use PhpParser\Node; use Rector\Comments\CommentRemover; use Rector\Core\Contract\PhpParser\NodePrinterInterface; +use RectorPrefix202211\Webmozart\Assert\Assert; final class NodeComparator { /** @@ -39,6 +40,24 @@ final class NodeComparator */ public function areNodesEqual($firstNode, $secondNode) : bool { + if ($firstNode instanceof Node && $secondNode === null) { + return \false; + } + if ($secondNode instanceof Node && $firstNode === null) { + return \false; + } + if (\is_array($firstNode)) { + Assert::allIsAOf($firstNode, Node::class); + if ($secondNode === null) { + return \false; + } + } + if (\is_array($secondNode)) { + Assert::allIsAOf($secondNode, Node::class); + if ($firstNode === null) { + return \false; + } + } return $this->printWithoutComments($firstNode) === $this->printWithoutComments($secondNode); } /** @@ -62,14 +81,14 @@ final class NodeComparator if ($firstNode === $secondNode) { return \true; } + $firstClass = \get_class($firstNode); + $secondClass = \get_class($secondNode); + if ($firstClass !== $secondClass) { + return \false; + } if ($firstNode->getStartTokenPos() !== $secondNode->getStartTokenPos()) { return \false; } - if ($firstNode->getEndTokenPos() !== $secondNode->getEndTokenPos()) { - return \false; - } - $firstClass = \get_class($firstNode); - $secondClass = \get_class($secondNode); - return $firstClass === $secondClass; + return $firstNode->getEndTokenPos() === $secondNode->getEndTokenPos(); } } diff --git a/vendor/autoload.php b/vendor/autoload.php index 82566c17f44..3151b438a33 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 ComposerAutoloaderInit8fc6bad89166e4dfab86781ae1b64388::getLoader(); +return ComposerAutoloaderInit87ee7d81f16938e812ed5860b53df937::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 37171e9b104..c5f5acf640c 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit8fc6bad89166e4dfab86781ae1b64388 +class ComposerAutoloaderInit87ee7d81f16938e812ed5860b53df937 { private static $loader; @@ -22,19 +22,19 @@ class ComposerAutoloaderInit8fc6bad89166e4dfab86781ae1b64388 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit8fc6bad89166e4dfab86781ae1b64388', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit87ee7d81f16938e812ed5860b53df937', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit8fc6bad89166e4dfab86781ae1b64388', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit87ee7d81f16938e812ed5860b53df937', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit8fc6bad89166e4dfab86781ae1b64388::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit87ee7d81f16938e812ed5860b53df937::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $includeFiles = \Composer\Autoload\ComposerStaticInit8fc6bad89166e4dfab86781ae1b64388::$files; + $includeFiles = \Composer\Autoload\ComposerStaticInit87ee7d81f16938e812ed5860b53df937::$files; foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire8fc6bad89166e4dfab86781ae1b64388($fileIdentifier, $file); + composerRequire87ee7d81f16938e812ed5860b53df937($fileIdentifier, $file); } return $loader; @@ -46,7 +46,7 @@ class ComposerAutoloaderInit8fc6bad89166e4dfab86781ae1b64388 * @param string $file * @return void */ -function composerRequire8fc6bad89166e4dfab86781ae1b64388($fileIdentifier, $file) +function composerRequire87ee7d81f16938e812ed5860b53df937($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 7a10a6f1a29..06ac866958c 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit8fc6bad89166e4dfab86781ae1b64388 +class ComposerStaticInit87ee7d81f16938e812ed5860b53df937 { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -3053,9 +3053,9 @@ class ComposerStaticInit8fc6bad89166e4dfab86781ae1b64388 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit8fc6bad89166e4dfab86781ae1b64388::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit8fc6bad89166e4dfab86781ae1b64388::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit8fc6bad89166e4dfab86781ae1b64388::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit87ee7d81f16938e812ed5860b53df937::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit87ee7d81f16938e812ed5860b53df937::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit87ee7d81f16938e812ed5860b53df937::$classMap; }, null, ClassLoader::class); }