mirror of https://github.com/rectorphp/rector.git
Updated Rector to commit e3ff080a96e2efbcd4a62c07b44ef4f950bd023d
e3ff080a96
[Core] Improve performance on NodeComparator (#3049)
This commit is contained in:
parent
73bd079d75
commit
44bd6589c7
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
|
|||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit8fc6bad89166e4dfab86781ae1b64388::getLoader();
|
||||
return ComposerAutoloaderInit87ee7d81f16938e812ed5860b53df937::getLoader();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue