Skip to content

Commit 1e2a0a6

Browse files
committed
Updated Rector to commit 8b48059c347d98d191478504da236c4c2ba1e667
rectorphp/rector-src@8b48059 [NodeTypeResolver] Simplify NodeTypeResolver: remove IdentifierTypeResolver dependency (#3733)
1 parent 4628b8b commit 1e2a0a6

File tree

6 files changed

+34
-34
lines changed

6 files changed

+34
-34
lines changed

packages/NodeTypeResolver/NodeTypeResolver.php

+1-15
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
use Rector\NodeTypeResolver\NodeTypeCorrector\AccessoryNonEmptyStringTypeCorrector;
4040
use Rector\NodeTypeResolver\NodeTypeCorrector\GenericClassStringTypeCorrector;
4141
use Rector\NodeTypeResolver\NodeTypeCorrector\HasOffsetTypeCorrector;
42-
use Rector\NodeTypeResolver\NodeTypeResolver\IdentifierTypeResolver;
4342
use Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType;
4443
use Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType;
4544
use Rector\TypeDeclaration\PHPStan\ObjectTypeSpecifier;
@@ -79,11 +78,6 @@ final class NodeTypeResolver
7978
* @var \Rector\NodeTypeResolver\NodeTypeCorrector\AccessoryNonEmptyStringTypeCorrector
8079
*/
8180
private $accessoryNonEmptyStringTypeCorrector;
82-
/**
83-
* @readonly
84-
* @var \Rector\NodeTypeResolver\NodeTypeResolver\IdentifierTypeResolver
85-
*/
86-
private $identifierTypeResolver;
8781
/**
8882
* @readonly
8983
* @var \Rector\Core\Configuration\RenamedClassesDataCollector
@@ -92,15 +86,14 @@ final class NodeTypeResolver
9286
/**
9387
* @param NodeTypeResolverInterface[] $nodeTypeResolvers
9488
*/
95-
public function __construct(ObjectTypeSpecifier $objectTypeSpecifier, ClassAnalyzer $classAnalyzer, GenericClassStringTypeCorrector $genericClassStringTypeCorrector, ReflectionProvider $reflectionProvider, HasOffsetTypeCorrector $hasOffsetTypeCorrector, AccessoryNonEmptyStringTypeCorrector $accessoryNonEmptyStringTypeCorrector, IdentifierTypeResolver $identifierTypeResolver, RenamedClassesDataCollector $renamedClassesDataCollector, array $nodeTypeResolvers)
89+
public function __construct(ObjectTypeSpecifier $objectTypeSpecifier, ClassAnalyzer $classAnalyzer, GenericClassStringTypeCorrector $genericClassStringTypeCorrector, ReflectionProvider $reflectionProvider, HasOffsetTypeCorrector $hasOffsetTypeCorrector, AccessoryNonEmptyStringTypeCorrector $accessoryNonEmptyStringTypeCorrector, RenamedClassesDataCollector $renamedClassesDataCollector, array $nodeTypeResolvers)
9690
{
9791
$this->objectTypeSpecifier = $objectTypeSpecifier;
9892
$this->classAnalyzer = $classAnalyzer;
9993
$this->genericClassStringTypeCorrector = $genericClassStringTypeCorrector;
10094
$this->reflectionProvider = $reflectionProvider;
10195
$this->hasOffsetTypeCorrector = $hasOffsetTypeCorrector;
10296
$this->accessoryNonEmptyStringTypeCorrector = $accessoryNonEmptyStringTypeCorrector;
103-
$this->identifierTypeResolver = $identifierTypeResolver;
10497
$this->renamedClassesDataCollector = $renamedClassesDataCollector;
10598
foreach ($nodeTypeResolvers as $nodeTypeResolver) {
10699
foreach ($nodeTypeResolver->getNodeClasses() as $nodeClass) {
@@ -188,16 +181,9 @@ public function getType(Node $node) : Type
188181
return new NullType();
189182
}
190183
}
191-
if ($node instanceof Identifier) {
192-
return $this->identifierTypeResolver->resolve($node);
193-
}
194184
return new MixedType();
195185
}
196186
if (!$node instanceof Expr) {
197-
// scalar type, e.g. from param type name
198-
if ($node instanceof Identifier) {
199-
return $this->identifierTypeResolver->resolve($node);
200-
}
201187
return new MixedType();
202188
}
203189
// skip anonymous classes, ref https://github.com/rectorphp/rector/issues/1574

packages/NodeTypeResolver/NodeTypeResolver/IdentifierTypeResolver.php

+21-7
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,43 @@
33
declare (strict_types=1);
44
namespace Rector\NodeTypeResolver\NodeTypeResolver;
55

6+
use PhpParser\Node;
67
use PhpParser\Node\Identifier;
78
use PHPStan\Type\BooleanType;
89
use PHPStan\Type\FloatType;
910
use PHPStan\Type\IntegerType;
1011
use PHPStan\Type\MixedType;
1112
use PHPStan\Type\StringType;
12-
final class IdentifierTypeResolver
13+
use PHPStan\Type\Type;
14+
use Rector\NodeTypeResolver\Contract\NodeTypeResolverInterface;
15+
/**
16+
* @implements NodeTypeResolverInterface<Identifier>
17+
*/
18+
final class IdentifierTypeResolver implements NodeTypeResolverInterface
1319
{
1420
/**
15-
* @return \PHPStan\Type\StringType|\PHPStan\Type\BooleanType|\PHPStan\Type\IntegerType|\PHPStan\Type\FloatType|\PHPStan\Type\MixedType
21+
* @return array<class-string<Node>>
1622
*/
17-
public function resolve(Identifier $identifier)
23+
public function getNodeClasses() : array
1824
{
19-
if ($identifier->toLowerString() === 'string') {
25+
return [Identifier::class];
26+
}
27+
/**
28+
* @param Identifier $node
29+
* @return StringType|BooleanType|IntegerType|FloatType|MixedType
30+
*/
31+
public function resolve(Node $node) : Type
32+
{
33+
if ($node->toLowerString() === 'string') {
2034
return new StringType();
2135
}
22-
if ($identifier->toLowerString() === 'bool') {
36+
if ($node->toLowerString() === 'bool') {
2337
return new BooleanType();
2438
}
25-
if ($identifier->toLowerString() === 'int') {
39+
if ($node->toLowerString() === 'int') {
2640
return new IntegerType();
2741
}
28-
if ($identifier->toLowerString() === 'float') {
42+
if ($node->toLowerString() === 'float') {
2943
return new FloatType();
3044
}
3145
return new MixedType();

src/Application/VersionResolver.php

+2-2
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 = '657ec2e5af81361107cafc9c842b1d9cdf4ed760';
22+
public const PACKAGE_VERSION = '8b48059c347d98d191478504da236c4c2ba1e667';
2323
/**
2424
* @api
2525
* @var string
2626
*/
27-
public const RELEASE_DATE = '2023-05-04 19:10:46';
27+
public const RELEASE_DATE = '2023-05-05 09:12:04';
2828
/**
2929
* @var int
3030
*/

vendor/autoload.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@
2222

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

25-
return ComposerAutoloaderInit364511933f4b935fc8c78793d3b6b961::getLoader();
25+
return ComposerAutoloaderInita3d85d0220e4ded852f7ff0a91ee1f48::getLoader();

vendor/composer/autoload_real.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// autoload_real.php @generated by Composer
44

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

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

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

35-
$filesToLoad = \Composer\Autoload\ComposerStaticInit364511933f4b935fc8c78793d3b6b961::$files;
35+
$filesToLoad = \Composer\Autoload\ComposerStaticInita3d85d0220e4ded852f7ff0a91ee1f48::$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

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Composer\Autoload;
66

7-
class ComposerStaticInit364511933f4b935fc8c78793d3b6b961
7+
class ComposerStaticInita3d85d0220e4ded852f7ff0a91ee1f48
88
{
99
public static $files = array (
1010
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@@ -3152,9 +3152,9 @@ class ComposerStaticInit364511933f4b935fc8c78793d3b6b961
31523152
public static function getInitializer(ClassLoader $loader)
31533153
{
31543154
return \Closure::bind(function () use ($loader) {
3155-
$loader->prefixLengthsPsr4 = ComposerStaticInit364511933f4b935fc8c78793d3b6b961::$prefixLengthsPsr4;
3156-
$loader->prefixDirsPsr4 = ComposerStaticInit364511933f4b935fc8c78793d3b6b961::$prefixDirsPsr4;
3157-
$loader->classMap = ComposerStaticInit364511933f4b935fc8c78793d3b6b961::$classMap;
3155+
$loader->prefixLengthsPsr4 = ComposerStaticInita3d85d0220e4ded852f7ff0a91ee1f48::$prefixLengthsPsr4;
3156+
$loader->prefixDirsPsr4 = ComposerStaticInita3d85d0220e4ded852f7ff0a91ee1f48::$prefixDirsPsr4;
3157+
$loader->classMap = ComposerStaticInita3d85d0220e4ded852f7ff0a91ee1f48::$classMap;
31583158

31593159
}, null, ClassLoader::class);
31603160
}

0 commit comments

Comments
 (0)