mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-11 13:42:22 +00:00
Updated Rector to commit baf8394798205ee0d9c6f27e72f018e0996e624f
baf8394798
Fix var/property usage for RemoveUnusedNonEmptyArrayBeforeForeachRector. (#3040)
This commit is contained in:
parent
329458c65d
commit
d9e32f78d0
|
@ -11,6 +11,7 @@ use PhpParser\Node\Stmt\Foreach_;
|
|||
use PhpParser\Node\Stmt\If_;
|
||||
use PHPStan\Analyser\Scope;
|
||||
use PHPStan\Type\ArrayType;
|
||||
use Rector\Core\NodeAnalyzer\PropertyFetchAnalyzer;
|
||||
use Rector\Core\NodeManipulator\IfManipulator;
|
||||
use Rector\Core\Php\ReservedKeywordAnalyzer;
|
||||
use Rector\Core\Rector\AbstractScopeAwareRector;
|
||||
|
@ -44,12 +45,18 @@ final class RemoveUnusedNonEmptyArrayBeforeForeachRector extends AbstractScopeAw
|
|||
* @var \Rector\Core\Php\ReservedKeywordAnalyzer
|
||||
*/
|
||||
private $reservedKeywordAnalyzer;
|
||||
public function __construct(CountManipulator $countManipulator, IfManipulator $ifManipulator, UselessIfCondBeforeForeachDetector $uselessIfCondBeforeForeachDetector, ReservedKeywordAnalyzer $reservedKeywordAnalyzer)
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Core\NodeAnalyzer\PropertyFetchAnalyzer
|
||||
*/
|
||||
private $propertyFetchAnalyzer;
|
||||
public function __construct(CountManipulator $countManipulator, IfManipulator $ifManipulator, UselessIfCondBeforeForeachDetector $uselessIfCondBeforeForeachDetector, ReservedKeywordAnalyzer $reservedKeywordAnalyzer, PropertyFetchAnalyzer $propertyFetchAnalyzer)
|
||||
{
|
||||
$this->countManipulator = $countManipulator;
|
||||
$this->ifManipulator = $ifManipulator;
|
||||
$this->uselessIfCondBeforeForeachDetector = $uselessIfCondBeforeForeachDetector;
|
||||
$this->reservedKeywordAnalyzer = $reservedKeywordAnalyzer;
|
||||
$this->propertyFetchAnalyzer = $propertyFetchAnalyzer;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
|
@ -99,9 +106,6 @@ CODE_SAMPLE
|
|||
}
|
||||
/** @var Foreach_ $stmt */
|
||||
$stmt = $node->stmts[0];
|
||||
if ($node->cond instanceof Assign) {
|
||||
return null;
|
||||
}
|
||||
$ifComments = $node->getAttribute(AttributeKey::COMMENTS) ?? [];
|
||||
$stmtComments = $stmt->getAttribute(AttributeKey::COMMENTS) ?? [];
|
||||
$comments = \array_merge($ifComments, $stmtComments);
|
||||
|
@ -122,17 +126,15 @@ CODE_SAMPLE
|
|||
return \false;
|
||||
}
|
||||
}
|
||||
if (($if->cond instanceof Variable || $this->propertyFetchAnalyzer->isPropertyFetch($if->cond)) && $this->nodeComparator->areNodesEqual($if->cond, $foreachExpr)) {
|
||||
return $scope->getType($if->cond) instanceof ArrayType;
|
||||
}
|
||||
if ($this->uselessIfCondBeforeForeachDetector->isMatchingNotIdenticalEmptyArray($if, $foreachExpr)) {
|
||||
return \true;
|
||||
}
|
||||
if ($this->uselessIfCondBeforeForeachDetector->isMatchingNotEmpty($if, $foreachExpr, $scope)) {
|
||||
return \true;
|
||||
}
|
||||
// we know it's an array
|
||||
$condType = $this->getType($if->cond);
|
||||
if ($condType instanceof ArrayType) {
|
||||
return \true;
|
||||
}
|
||||
return $this->countManipulator->isCounterHigherThanOne($if->cond, $foreachExpr);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,12 +17,12 @@ final class VersionResolver
|
|||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '10c6a3047fde6a6a2f94c9260dc3482de6e7f5c0';
|
||||
public const PACKAGE_VERSION = 'baf8394798205ee0d9c6f27e72f018e0996e624f';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2022-11-08 14:32:39';
|
||||
public const RELEASE_DATE = '2022-11-10 14:43:44';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
|
@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
|
|||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit1c3cbccfa64a5d167f095ce822ca30fd::getLoader();
|
||||
return ComposerAutoloaderInit616d5e9225234d487d24cad0ea6ffd9f::getLoader();
|
||||
|
|
14
vendor/composer/autoload_real.php
vendored
14
vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
|||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInit1c3cbccfa64a5d167f095ce822ca30fd
|
||||
class ComposerAutoloaderInit616d5e9225234d487d24cad0ea6ffd9f
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
|
@ -22,19 +22,19 @@ class ComposerAutoloaderInit1c3cbccfa64a5d167f095ce822ca30fd
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit1c3cbccfa64a5d167f095ce822ca30fd', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit616d5e9225234d487d24cad0ea6ffd9f', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit1c3cbccfa64a5d167f095ce822ca30fd', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit616d5e9225234d487d24cad0ea6ffd9f', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit1c3cbccfa64a5d167f095ce822ca30fd::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit616d5e9225234d487d24cad0ea6ffd9f::getInitializer($loader));
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->register(true);
|
||||
|
||||
$includeFiles = \Composer\Autoload\ComposerStaticInit1c3cbccfa64a5d167f095ce822ca30fd::$files;
|
||||
$includeFiles = \Composer\Autoload\ComposerStaticInit616d5e9225234d487d24cad0ea6ffd9f::$files;
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequire1c3cbccfa64a5d167f095ce822ca30fd($fileIdentifier, $file);
|
||||
composerRequire616d5e9225234d487d24cad0ea6ffd9f($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
|
@ -46,7 +46,7 @@ class ComposerAutoloaderInit1c3cbccfa64a5d167f095ce822ca30fd
|
|||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
function composerRequire1c3cbccfa64a5d167f095ce822ca30fd($fileIdentifier, $file)
|
||||
function composerRequire616d5e9225234d487d24cad0ea6ffd9f($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
|
8
vendor/composer/autoload_static.php
vendored
8
vendor/composer/autoload_static.php
vendored
|
@ -4,7 +4,7 @@
|
|||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInit1c3cbccfa64a5d167f095ce822ca30fd
|
||||
class ComposerStaticInit616d5e9225234d487d24cad0ea6ffd9f
|
||||
{
|
||||
public static $files = array (
|
||||
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
||||
|
@ -3053,9 +3053,9 @@ class ComposerStaticInit1c3cbccfa64a5d167f095ce822ca30fd
|
|||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit1c3cbccfa64a5d167f095ce822ca30fd::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit1c3cbccfa64a5d167f095ce822ca30fd::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit1c3cbccfa64a5d167f095ce822ca30fd::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit616d5e9225234d487d24cad0ea6ffd9f::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit616d5e9225234d487d24cad0ea6ffd9f::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit616d5e9225234d487d24cad0ea6ffd9f::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user