Updated Rector to commit ecce9b3709

ecce9b3709 [DeadCode] Keep assign expr when Assign Expr has CallLike on RemoveUnusedVariableAssignRector (#1825)
This commit is contained in:
Tomas Votruba 2022-02-17 10:40:48 +00:00
parent 5ddf2c900f
commit c5291aef7a
6 changed files with 27 additions and 20 deletions

View File

@ -5,6 +5,7 @@ namespace Rector\DeadCode\Rector\Assign;
use PhpParser\Node;
use PhpParser\Node\Arg;
use PhpParser\Node\Expr;
use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Expr\MethodCall;
@ -115,13 +116,19 @@ CODE_SAMPLE
if (!$parentNode instanceof \PhpParser\Node\Stmt\Expression) {
return null;
}
if ($this->sideEffectNodeDetector->detectCallExpr($node->expr)) {
if ($this->hasCallLikeInAssignExpr($node->expr)) {
// keep the expr, can have side effect
return $node->expr;
}
$this->removeNode($node);
return $node;
}
private function hasCallLikeInAssignExpr(\PhpParser\Node\Expr $expr) : bool
{
return (bool) $this->betterNodeFinder->findFirst($expr, function (\PhpParser\Node $subNode) : bool {
return $this->sideEffectNodeDetector->detectCallExpr($subNode);
});
}
private function shouldSkip(\PhpParser\Node\Expr\Assign $assign) : bool
{
$classMethod = $this->betterNodeFinder->findParentType($assign, \PhpParser\Node\Stmt\ClassMethod::class);

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = '0f3363c37bc90e8a5e318a72eb7950f098f505a7';
public const PACKAGE_VERSION = 'ecce9b3709b1a7059a7287bd3b4170ee53e3bb10';
/**
* @var string
*/
public const RELEASE_DATE = '2022-02-17 11:30:29';
public const RELEASE_DATE = '2022-02-17 11:32:30';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20220217\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072::getLoader();
return ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112::getLoader();

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072
class ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit73180d7db29c01e78fec71d2102b7072::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit08aa1f1b748f4b803eec9d0fef1bc112::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,12 +42,12 @@ class ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit73180d7db29c01e78fec71d2102b7072::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit08aa1f1b748f4b803eec9d0fef1bc112::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire73180d7db29c01e78fec71d2102b7072($fileIdentifier, $file);
composerRequire08aa1f1b748f4b803eec9d0fef1bc112($fileIdentifier, $file);
}
return $loader;
@ -59,7 +59,7 @@ class ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072
* @param string $file
* @return void
*/
function composerRequire73180d7db29c01e78fec71d2102b7072($fileIdentifier, $file)
function composerRequire08aa1f1b748f4b803eec9d0fef1bc112($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 ComposerStaticInit73180d7db29c01e78fec71d2102b7072
class ComposerStaticInit08aa1f1b748f4b803eec9d0fef1bc112
{
public static $files = array (
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
@ -3877,9 +3877,9 @@ class ComposerStaticInit73180d7db29c01e78fec71d2102b7072
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit73180d7db29c01e78fec71d2102b7072::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit73180d7db29c01e78fec71d2102b7072::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit73180d7db29c01e78fec71d2102b7072::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit08aa1f1b748f4b803eec9d0fef1bc112::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit08aa1f1b748f4b803eec9d0fef1bc112::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit08aa1f1b748f4b803eec9d0fef1bc112::$classMap;
}, null, ClassLoader::class);
}

View File

@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php';
if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) {
spl_autoload_call('RectorPrefix20220217\AutoloadIncluder');
}
if (!class_exists('ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072', false) && !interface_exists('ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072', false) && !trait_exists('ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072', false)) {
spl_autoload_call('RectorPrefix20220217\ComposerAutoloaderInit73180d7db29c01e78fec71d2102b7072');
if (!class_exists('ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112', false) && !interface_exists('ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112', false) && !trait_exists('ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112', false)) {
spl_autoload_call('RectorPrefix20220217\ComposerAutoloaderInit08aa1f1b748f4b803eec9d0fef1bc112');
}
if (!class_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !interface_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !trait_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false)) {
spl_autoload_call('RectorPrefix20220217\Helmich\TypoScriptParser\Parser\AST\Statement');
@ -59,9 +59,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20220217\print_node(...func_get_args());
}
}
if (!function_exists('composerRequire73180d7db29c01e78fec71d2102b7072')) {
function composerRequire73180d7db29c01e78fec71d2102b7072() {
return \RectorPrefix20220217\composerRequire73180d7db29c01e78fec71d2102b7072(...func_get_args());
if (!function_exists('composerRequire08aa1f1b748f4b803eec9d0fef1bc112')) {
function composerRequire08aa1f1b748f4b803eec9d0fef1bc112() {
return \RectorPrefix20220217\composerRequire08aa1f1b748f4b803eec9d0fef1bc112(...func_get_args());
}
}
if (!function_exists('scanPath')) {