Skip to content

Commit 11b6f00

Browse files
committed
Updated Rector to commit a94a11a157b69172d32dbdd6de3328d313f9f5ce
rectorphp/rector-src@a94a11a [Utils] Add ArrayChecker util to verify first data found on given array (#3262)
1 parent 0fc42c2 commit 11b6f00

File tree

8 files changed

+54
-16
lines changed

8 files changed

+54
-16
lines changed

rules/Php74/NodeAnalyzer/ClosureArrowFunctionAnalyzer.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use PhpParser\Node\Stmt\Return_;
1212
use Rector\Core\PhpParser\Comparing\NodeComparator;
1313
use Rector\Core\PhpParser\Node\BetterNodeFinder;
14+
use Rector\Core\Util\ArrayChecker;
1415
final class ClosureArrowFunctionAnalyzer
1516
{
1617
/**
@@ -23,10 +24,16 @@ final class ClosureArrowFunctionAnalyzer
2324
* @var \Rector\Core\PhpParser\Comparing\NodeComparator
2425
*/
2526
private $nodeComparator;
26-
public function __construct(BetterNodeFinder $betterNodeFinder, NodeComparator $nodeComparator)
27+
/**
28+
* @readonly
29+
* @var \Rector\Core\Util\ArrayChecker
30+
*/
31+
private $arrayChecker;
32+
public function __construct(BetterNodeFinder $betterNodeFinder, NodeComparator $nodeComparator, ArrayChecker $arrayChecker)
2733
{
2834
$this->betterNodeFinder = $betterNodeFinder;
2935
$this->nodeComparator = $nodeComparator;
36+
$this->arrayChecker = $arrayChecker;
3037
}
3138
public function matchArrowFunctionExpr(Closure $closure) : ?Expr
3239
{
@@ -76,7 +83,7 @@ private function isFoundInInnerUses(Closure $node, array $referencedValues) : bo
7683
return \false;
7784
}
7885
foreach ($referencedValues as $referencedValue) {
79-
$isFoundInInnerUses = (bool) \array_filter($subNode->uses, function (ClosureUse $closureUse) use($referencedValue) : bool {
86+
$isFoundInInnerUses = $this->arrayChecker->doesExist($subNode->uses, function (ClosureUse $closureUse) use($referencedValue) : bool {
8087
return $closureUse->byRef && $this->nodeComparator->areNodesEqual($closureUse->var, $referencedValue);
8188
});
8289
if ($isFoundInInnerUses) {

src/Application/VersionResolver.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ final class VersionResolver
1919
* @api
2020
* @var string
2121
*/
22-
public const PACKAGE_VERSION = '47fa234379b7b9f28081e8bc6e683628f8d53f2b';
22+
public const PACKAGE_VERSION = 'a94a11a157b69172d32dbdd6de3328d313f9f5ce';
2323
/**
2424
* @api
2525
* @var string
2626
*/
27-
public const RELEASE_DATE = '2023-01-02 12:54:27';
27+
public const RELEASE_DATE = '2023-01-02 11:59:40';
2828
/**
2929
* @var int
3030
*/

src/NodeManipulator/ClassMethodAssignManipulator.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
use Rector\Core\PhpParser\Node\BetterNodeFinder;
2626
use Rector\Core\PhpParser\Node\NodeFactory;
2727
use Rector\Core\Reflection\ReflectionResolver;
28+
use Rector\Core\Util\ArrayChecker;
2829
use Rector\Core\ValueObject\Application\File;
2930
use Rector\DeadCode\NodeAnalyzer\ExprUsedInNextNodeAnalyzer;
3031
use Rector\NodeNameResolver\NodeNameResolver;
@@ -75,7 +76,12 @@ final class ClassMethodAssignManipulator
7576
* @var \Rector\DeadCode\NodeAnalyzer\ExprUsedInNextNodeAnalyzer
7677
*/
7778
private $exprUsedInNextNodeAnalyzer;
78-
public function __construct(BetterNodeFinder $betterNodeFinder, NodeFactory $nodeFactory, NodeNameResolver $nodeNameResolver, \Rector\Core\NodeManipulator\VariableManipulator $variableManipulator, NodeComparator $nodeComparator, ReflectionResolver $reflectionResolver, \Rector\Core\NodeManipulator\ArrayDestructVariableFilter $arrayDestructVariableFilter, ExprUsedInNextNodeAnalyzer $exprUsedInNextNodeAnalyzer)
79+
/**
80+
* @readonly
81+
* @var \Rector\Core\Util\ArrayChecker
82+
*/
83+
private $arrayChecker;
84+
public function __construct(BetterNodeFinder $betterNodeFinder, NodeFactory $nodeFactory, NodeNameResolver $nodeNameResolver, \Rector\Core\NodeManipulator\VariableManipulator $variableManipulator, NodeComparator $nodeComparator, ReflectionResolver $reflectionResolver, \Rector\Core\NodeManipulator\ArrayDestructVariableFilter $arrayDestructVariableFilter, ExprUsedInNextNodeAnalyzer $exprUsedInNextNodeAnalyzer, ArrayChecker $arrayChecker)
7985
{
8086
$this->betterNodeFinder = $betterNodeFinder;
8187
$this->nodeFactory = $nodeFactory;
@@ -85,6 +91,7 @@ public function __construct(BetterNodeFinder $betterNodeFinder, NodeFactory $nod
8591
$this->reflectionResolver = $reflectionResolver;
8692
$this->arrayDestructVariableFilter = $arrayDestructVariableFilter;
8793
$this->exprUsedInNextNodeAnalyzer = $exprUsedInNextNodeAnalyzer;
94+
$this->arrayChecker = $arrayChecker;
8895
}
8996
/**
9097
* @return Assign[]
@@ -127,7 +134,7 @@ private function filterOutUsedByEncapsed(array $readOnlyVariableAssigns) : array
127134
if (!$node instanceof Encapsed) {
128135
return \false;
129136
}
130-
return (bool) \array_filter($node->parts, function (Expr $expr) use($variable) : bool {
137+
return $this->arrayChecker->doesExist($node->parts, function (Expr $expr) use($variable) : bool {
131138
return $this->nodeComparator->areNodesEqual($expr, $variable);
132139
});
133140
});

src/Util/ArrayChecker.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
declare (strict_types=1);
4+
namespace Rector\Core\Util;
5+
6+
final class ArrayChecker
7+
{
8+
/**
9+
* @param mixed[] $elements
10+
* @param callable(mixed $element): bool $callable
11+
*/
12+
public function doesExist(array $elements, callable $callable) : bool
13+
{
14+
foreach ($elements as $element) {
15+
$isFound = $callable($element);
16+
if ($isFound) {
17+
return \true;
18+
}
19+
}
20+
return \false;
21+
}
22+
}

vendor/autoload.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@
2222

2323
require_once __DIR__ . '/composer/autoload_real.php';
2424

25-
return ComposerAutoloaderInit72bf78bd619f9883efa43bdc150df9dd::getLoader();
25+
return ComposerAutoloaderInit607ae95fc651730ac7256ab07c3e376d::getLoader();

vendor/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1497,6 +1497,7 @@
14971497
'Rector\\Core\\Reporting\\MissingRectorRulesReporter' => $baseDir . '/src/Reporting/MissingRectorRulesReporter.php',
14981498
'Rector\\Core\\StaticReflection\\DynamicSourceLocatorDecorator' => $baseDir . '/src/StaticReflection/DynamicSourceLocatorDecorator.php',
14991499
'Rector\\Core\\StaticReflection\\SourceLocator\\RenamedClassesSourceLocator' => $baseDir . '/src/StaticReflection/SourceLocator/RenamedClassesSourceLocator.php',
1500+
'Rector\\Core\\Util\\ArrayChecker' => $baseDir . '/src/Util/ArrayChecker.php',
15001501
'Rector\\Core\\Util\\ArrayParametersMerger' => $baseDir . '/src/Util/ArrayParametersMerger.php',
15011502
'Rector\\Core\\Util\\MemoryLimiter' => $baseDir . '/src/Util/MemoryLimiter.php',
15021503
'Rector\\Core\\Util\\MultiInstanceofChecker' => $baseDir . '/src/Util/MultiInstanceofChecker.php',

vendor/composer/autoload_real.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// autoload_real.php @generated by Composer
44

5-
class ComposerAutoloaderInit72bf78bd619f9883efa43bdc150df9dd
5+
class ComposerAutoloaderInit607ae95fc651730ac7256ab07c3e376d
66
{
77
private static $loader;
88

@@ -22,17 +22,17 @@ public static function getLoader()
2222
return self::$loader;
2323
}
2424

25-
spl_autoload_register(array('ComposerAutoloaderInit72bf78bd619f9883efa43bdc150df9dd', 'loadClassLoader'), true, true);
25+
spl_autoload_register(array('ComposerAutoloaderInit607ae95fc651730ac7256ab07c3e376d', 'loadClassLoader'), true, true);
2626
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27-
spl_autoload_unregister(array('ComposerAutoloaderInit72bf78bd619f9883efa43bdc150df9dd', 'loadClassLoader'));
27+
spl_autoload_unregister(array('ComposerAutoloaderInit607ae95fc651730ac7256ab07c3e376d', 'loadClassLoader'));
2828

2929
require __DIR__ . '/autoload_static.php';
30-
call_user_func(\Composer\Autoload\ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd::getInitializer($loader));
30+
call_user_func(\Composer\Autoload\ComposerStaticInit607ae95fc651730ac7256ab07c3e376d::getInitializer($loader));
3131

3232
$loader->setClassMapAuthoritative(true);
3333
$loader->register(true);
3434

35-
$filesToLoad = \Composer\Autoload\ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd::$files;
35+
$filesToLoad = \Composer\Autoload\ComposerStaticInit607ae95fc651730ac7256ab07c3e376d::$files;
3636
$requireFile = static function ($fileIdentifier, $file) {
3737
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
3838
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

vendor/composer/autoload_static.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Composer\Autoload;
66

7-
class ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd
7+
class ComposerStaticInit607ae95fc651730ac7256ab07c3e376d
88
{
99
public static $files = array (
1010
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@@ -1742,6 +1742,7 @@ class ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd
17421742
'Rector\\Core\\Reporting\\MissingRectorRulesReporter' => __DIR__ . '/../..' . '/src/Reporting/MissingRectorRulesReporter.php',
17431743
'Rector\\Core\\StaticReflection\\DynamicSourceLocatorDecorator' => __DIR__ . '/../..' . '/src/StaticReflection/DynamicSourceLocatorDecorator.php',
17441744
'Rector\\Core\\StaticReflection\\SourceLocator\\RenamedClassesSourceLocator' => __DIR__ . '/../..' . '/src/StaticReflection/SourceLocator/RenamedClassesSourceLocator.php',
1745+
'Rector\\Core\\Util\\ArrayChecker' => __DIR__ . '/../..' . '/src/Util/ArrayChecker.php',
17451746
'Rector\\Core\\Util\\ArrayParametersMerger' => __DIR__ . '/../..' . '/src/Util/ArrayParametersMerger.php',
17461747
'Rector\\Core\\Util\\MemoryLimiter' => __DIR__ . '/../..' . '/src/Util/MemoryLimiter.php',
17471748
'Rector\\Core\\Util\\MultiInstanceofChecker' => __DIR__ . '/../..' . '/src/Util/MultiInstanceofChecker.php',
@@ -3062,9 +3063,9 @@ class ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd
30623063
public static function getInitializer(ClassLoader $loader)
30633064
{
30643065
return \Closure::bind(function () use ($loader) {
3065-
$loader->prefixLengthsPsr4 = ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd::$prefixLengthsPsr4;
3066-
$loader->prefixDirsPsr4 = ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd::$prefixDirsPsr4;
3067-
$loader->classMap = ComposerStaticInit72bf78bd619f9883efa43bdc150df9dd::$classMap;
3066+
$loader->prefixLengthsPsr4 = ComposerStaticInit607ae95fc651730ac7256ab07c3e376d::$prefixLengthsPsr4;
3067+
$loader->prefixDirsPsr4 = ComposerStaticInit607ae95fc651730ac7256ab07c3e376d::$prefixDirsPsr4;
3068+
$loader->classMap = ComposerStaticInit607ae95fc651730ac7256ab07c3e376d::$classMap;
30683069

30693070
}, null, ClassLoader::class);
30703071
}

0 commit comments

Comments
 (0)