Updated Rector to commit 77b0bb7080b3f3e01e1fc8cdac2908c7b490a9d0

77b0bb7080 [NodeTypeResolver][Performance] Using instanceof instead of is_string() check on Node visitors (#4420)
This commit is contained in:
Tomas Votruba 2023-07-04 15:43:39 +00:00
parent 59c58750fa
commit 64593b7175
6 changed files with 18 additions and 16 deletions

View File

@ -4,6 +4,7 @@ declare (strict_types=1);
namespace Rector\NodeTypeResolver\PHPStan\Scope\NodeVisitor;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\Expr\Variable;
use PhpParser\Node\Stmt;
use PhpParser\Node\Stmt\Class_;
@ -41,7 +42,7 @@ final class GlobalVariableNodeVisitor extends NodeVisitorAbstract implements Sco
continue;
}
foreach ($stmt->vars as $variable) {
if ($variable instanceof Variable && \is_string($variable->name)) {
if ($variable instanceof Variable && !$variable->name instanceof Expr) {
$variable->setAttribute(AttributeKey::IS_GLOBAL_VAR, \true);
$globalVariableNames[] = $variable->name;
}
@ -64,7 +65,7 @@ final class GlobalVariableNodeVisitor extends NodeVisitorAbstract implements Sco
if (!$subNode instanceof Variable) {
return null;
}
if (!\is_string($subNode->name)) {
if ($subNode->name instanceof Expr) {
return null;
}
if (!\in_array($subNode->name, $globalVariableNames, \true)) {

View File

@ -4,6 +4,7 @@ declare (strict_types=1);
namespace Rector\NodeTypeResolver\PHPStan\Scope\NodeVisitor;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\Expr\Variable;
use PhpParser\Node\Stmt;
use PhpParser\Node\Stmt\Class_;
@ -41,7 +42,7 @@ final class StaticVariableNodeVisitor extends NodeVisitorAbstract implements Sco
continue;
}
foreach ($stmt->vars as $staticVar) {
if (\is_string($staticVar->var->name)) {
if (!$staticVar->var->name instanceof Expr) {
$staticVar->var->setAttribute(AttributeKey::IS_STATIC_VAR, \true);
$staticVariableNames[] = $staticVar->var->name;
}
@ -64,7 +65,7 @@ final class StaticVariableNodeVisitor extends NodeVisitorAbstract implements Sco
if (!$subNode instanceof Variable) {
return null;
}
if (!\is_string($subNode->name)) {
if ($subNode->name instanceof Expr) {
return null;
}
if (!\in_array($subNode->name, $staticVariableNames, \true)) {

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'b353e704c81dd3a9bd78f82bc571153c3023b471';
public const PACKAGE_VERSION = '77b0bb7080b3f3e01e1fc8cdac2908c7b490a9d0';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-07-04 21:50:28';
public const RELEASE_DATE = '2023-07-04 22:38:33';
/**
* @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 ComposerAutoloaderInitb90a132cc33e33115ba6b9ed80da8da4::getLoader();
return ComposerAutoloaderInita3e1f17d6c5096777f52527ca0a556f5::getLoader();

View File

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