Skip to content

Commit 9186224

Browse files
committed
Updated Rector to commit 172d354a23c7b437f255709c7b85dcf667f41adb
rectorphp/rector-src@172d354 [Core] Ensure locate on same ClassLike name on AstResolver (#3493)
1 parent 5acf36b commit 9186224

5 files changed

Lines changed: 40 additions & 21 deletions

File tree

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 = '7dcd5f6503afa3ee7ab086cbfe6afb71cbd6d6ec';
22+
public const PACKAGE_VERSION = '172d354a23c7b437f255709c7b85dcf667f41adb';
2323
/**
2424
* @api
2525
* @var string
2626
*/
27-
public const RELEASE_DATE = '2023-03-20 15:25:39';
27+
public const RELEASE_DATE = '2023-03-20 17:22:54';
2828
/**
2929
* @var int
3030
*/

src/PhpParser/AstResolver.php

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
use Rector\Core\ValueObject\Application\File;
3232
use Rector\Core\ValueObject\MethodName;
3333
use Rector\NodeNameResolver\NodeNameResolver;
34+
use Rector\NodeTypeResolver\Node\AttributeKey;
3435
use Rector\NodeTypeResolver\NodeScopeAndMetadataDecorator;
3536
use Rector\NodeTypeResolver\NodeTypeResolver;
3637
use Rector\PhpDocParser\PhpParser\SmartPhpParser;
@@ -123,14 +124,21 @@ public function resolveClassMethodFromMethodReflection(MethodReflection $methodR
123124
if ($nodes === null) {
124125
return null;
125126
}
126-
/** @var ClassLike|null $classLike */
127-
$classLike = $this->betterNodeFinder->findFirst($nodes, function (Node $node) use($classLikeName, $methodName) : bool {
128-
return $node instanceof ClassLike && $this->nodeNameResolver->isName($node, $classLikeName) && $node->getMethod($methodName) instanceof ClassMethod;
127+
/** @var ClassMethod|null $classMethod */
128+
$classMethod = $this->betterNodeFinder->findFirst($nodes, function (Node $node) use($classLikeName, $methodName) : bool {
129+
if (!$node instanceof ClassMethod) {
130+
return \false;
131+
}
132+
$parentNode = $node->getAttribute(AttributeKey::PARENT_NODE);
133+
if (!$parentNode instanceof ClassLike) {
134+
return \false;
135+
}
136+
if (!$this->nodeNameResolver->isName($parentNode, $classLikeName)) {
137+
return \false;
138+
}
139+
return $parentNode->getMethod($methodName) === $node;
129140
});
130-
if ($classLike instanceof ClassLike && ($method = $classLike->getMethod($methodName)) instanceof ClassMethod) {
131-
return $method;
132-
}
133-
return null;
141+
return $classMethod;
134142
}
135143
/**
136144
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall $call
@@ -244,10 +252,21 @@ public function resolvePropertyFromPropertyReflection(PhpPropertyReflection $php
244252
return null;
245253
}
246254
$nativeReflectionProperty = $phpPropertyReflection->getNativeReflection();
255+
$desiredClassName = $classReflection->getName();
247256
$desiredPropertyName = $nativeReflectionProperty->getName();
248257
/** @var Property|null $property */
249-
$property = $this->betterNodeFinder->findFirst($nodes, function (Node $node) use($desiredPropertyName) : bool {
250-
return $node instanceof Property && $this->nodeNameResolver->isName($node, $desiredPropertyName);
258+
$property = $this->betterNodeFinder->findFirst($nodes, function (Node $node) use($desiredClassName, $desiredPropertyName) : bool {
259+
if (!$node instanceof Property) {
260+
return \false;
261+
}
262+
$parentNode = $node->getAttribute(AttributeKey::PARENT_NODE);
263+
if (!$parentNode instanceof ClassLike) {
264+
return \false;
265+
}
266+
if (!$this->nodeNameResolver->isName($parentNode, $desiredClassName)) {
267+
return \false;
268+
}
269+
return $parentNode->getProperty($desiredPropertyName) === $node;
251270
});
252271
if ($property instanceof Property) {
253272
return $property;

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 ComposerAutoloaderInit42dbbea9f76bc2ad016504e8bbeaac67::getLoader();
25+
return ComposerAutoloaderInit5768fe3ac9bf02789dddb40517996133::getLoader();

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 ComposerAutoloaderInit42dbbea9f76bc2ad016504e8bbeaac67
5+
class ComposerAutoloaderInit5768fe3ac9bf02789dddb40517996133
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('ComposerAutoloaderInit42dbbea9f76bc2ad016504e8bbeaac67', 'loadClassLoader'), true, true);
25+
spl_autoload_register(array('ComposerAutoloaderInit5768fe3ac9bf02789dddb40517996133', 'loadClassLoader'), true, true);
2626
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27-
spl_autoload_unregister(array('ComposerAutoloaderInit42dbbea9f76bc2ad016504e8bbeaac67', 'loadClassLoader'));
27+
spl_autoload_unregister(array('ComposerAutoloaderInit5768fe3ac9bf02789dddb40517996133', 'loadClassLoader'));
2828

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

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

35-
$filesToLoad = \Composer\Autoload\ComposerStaticInit42dbbea9f76bc2ad016504e8bbeaac67::$files;
35+
$filesToLoad = \Composer\Autoload\ComposerStaticInit5768fe3ac9bf02789dddb40517996133::$files;
3636
$requireFile = \Closure::bind(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: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Composer\Autoload;
66

7-
class ComposerStaticInit42dbbea9f76bc2ad016504e8bbeaac67
7+
class ComposerStaticInit5768fe3ac9bf02789dddb40517996133
88
{
99
public static $files = array (
1010
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@@ -3127,9 +3127,9 @@ class ComposerStaticInit42dbbea9f76bc2ad016504e8bbeaac67
31273127
public static function getInitializer(ClassLoader $loader)
31283128
{
31293129
return \Closure::bind(function () use ($loader) {
3130-
$loader->prefixLengthsPsr4 = ComposerStaticInit42dbbea9f76bc2ad016504e8bbeaac67::$prefixLengthsPsr4;
3131-
$loader->prefixDirsPsr4 = ComposerStaticInit42dbbea9f76bc2ad016504e8bbeaac67::$prefixDirsPsr4;
3132-
$loader->classMap = ComposerStaticInit42dbbea9f76bc2ad016504e8bbeaac67::$classMap;
3130+
$loader->prefixLengthsPsr4 = ComposerStaticInit5768fe3ac9bf02789dddb40517996133::$prefixLengthsPsr4;
3131+
$loader->prefixDirsPsr4 = ComposerStaticInit5768fe3ac9bf02789dddb40517996133::$prefixDirsPsr4;
3132+
$loader->classMap = ComposerStaticInit5768fe3ac9bf02789dddb40517996133::$classMap;
31333133

31343134
}, null, ClassLoader::class);
31353135
}

0 commit comments

Comments
 (0)