Updated Rector to commit a21a3f17578cb8e13505ffe0e797ecfd12e86c4f

a21a3f1757 [Cleanup] Remove TypeToCallReflectionResolver as not needed anymore (#4917)
This commit is contained in:
Tomas Votruba 2023-09-05 19:57:28 +00:00
parent 4c7551da27
commit 2bbdfcfe3b
13 changed files with 18 additions and 360 deletions

View File

@ -3,10 +3,10 @@
declare (strict_types=1);
namespace Rector\CodeQuality\Rector\Ternary;
use PhpParser\Node\Expr\BinaryOp\GreaterOrEqual;
use PhpParser\Node;
use PhpParser\Node\Expr\BinaryOp;
use PhpParser\Node\Expr\BinaryOp\Greater;
use PhpParser\Node\Expr\BinaryOp\GreaterOrEqual;
use PhpParser\Node\Expr\BinaryOp\Smaller;
use PhpParser\Node\Expr\BinaryOp\SmallerOrEqual;
use PhpParser\Node\Expr\Ternary;

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'aa7282195caab5889ee067ca3fb5eda62f26ed1b';
public const PACKAGE_VERSION = 'a21a3f17578cb8e13505ffe0e797ecfd12e86c4f';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-09-05 17:00:45';
public const RELEASE_DATE = '2023-09-05 19:54:57';
/**
* @var int
*/

View File

@ -1,21 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\FunctionReflection;
use PHPStan\Reflection\MethodReflection;
use PHPStan\Type\Type;
/**
* @template TType as Type
*/
interface TypeToCallReflectionResolverInterface
{
public function supports(Type $type) : bool;
/**
* @param TType $type
* @return FunctionReflection|MethodReflection|null
*/
public function resolve(Type $type, Scope $scope);
}

View File

@ -1,31 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\Native\NativeFunctionReflection;
use PHPStan\Reflection\ParametersAcceptorWithPhpDocs;
use PHPStan\TrinaryLogic;
use PHPStan\Type\ClosureType;
use PHPStan\Type\Type;
use Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverInterface;
/**
* @implements TypeToCallReflectionResolverInterface<ClosureType>
*/
final class ClosureTypeToCallReflectionResolver implements TypeToCallReflectionResolverInterface
{
public function supports(Type $type) : bool
{
return $type instanceof ClosureType;
}
/**
* @param ClosureType $type
*/
public function resolve(Type $type, Scope $scope) : NativeFunctionReflection
{
/** @var ParametersAcceptorWithPhpDocs[] $parametersAcceptors */
$parametersAcceptors = $type->getCallableParametersAcceptors($scope);
return new NativeFunctionReflection('{closure}', $parametersAcceptors, null, TrinaryLogic::createMaybe(), \false);
}
}

View File

@ -1,105 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\MethodReflection;
use PHPStan\Reflection\ReflectionProvider;
use PHPStan\Type\Constant\ConstantArrayType;
use PHPStan\Type\Constant\ConstantArrayTypeAndMethod;
use PHPStan\Type\Constant\ConstantIntegerType;
use PHPStan\Type\Constant\ConstantStringType;
use PHPStan\Type\ObjectType;
use PHPStan\Type\ObjectWithoutClassType;
use PHPStan\Type\Type;
use Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverInterface;
/**
* @see https://github.com/phpstan/phpstan-src/blob/b1fd47bda2a7a7d25091197b125c0adf82af6757/src/Type/Constant/ConstantArrayType.php#L188
*
* @implements TypeToCallReflectionResolverInterface<ConstantArrayType>
*/
final class ConstantArrayTypeToCallReflectionResolver implements TypeToCallReflectionResolverInterface
{
/**
* @readonly
* @var \PHPStan\Reflection\ReflectionProvider
*/
private $reflectionProvider;
public function __construct(ReflectionProvider $reflectionProvider)
{
$this->reflectionProvider = $reflectionProvider;
}
public function supports(Type $type) : bool
{
return $type instanceof ConstantArrayType;
}
/**
* @param ConstantArrayType $type
*/
public function resolve(Type $type, Scope $scope) : ?MethodReflection
{
$constantArrayTypeAndMethod = $this->findTypeAndMethodName($type);
if (!$constantArrayTypeAndMethod instanceof ConstantArrayTypeAndMethod) {
return null;
}
if ($constantArrayTypeAndMethod->isUnknown()) {
return null;
}
if (!$constantArrayTypeAndMethod->getCertainty()->yes()) {
return null;
}
$constantArrayType = $constantArrayTypeAndMethod->getType();
$extendedMethodReflection = $constantArrayType->getMethod($constantArrayTypeAndMethod->getMethod(), $scope);
if (!$scope->canCallMethod($extendedMethodReflection)) {
return null;
}
return $extendedMethodReflection;
}
/**
* @see https://github.com/phpstan/phpstan-src/blob/b1fd47bda2a7a7d25091197b125c0adf82af6757/src/Type/Constant/ConstantArrayType.php#L209
*/
private function findTypeAndMethodName(ConstantArrayType $constantArrayType) : ?ConstantArrayTypeAndMethod
{
if (!$this->areKeyTypesValid($constantArrayType)) {
return null;
}
if (\count($constantArrayType->getValueTypes()) !== 2) {
return null;
}
$classOrObjectType = $constantArrayType->getValueTypes()[0];
$methodType = $constantArrayType->getValueTypes()[1];
if (!$methodType instanceof ConstantStringType) {
return ConstantArrayTypeAndMethod::createUnknown();
}
$objectWithoutClassType = new ObjectWithoutClassType();
if ($classOrObjectType instanceof ConstantStringType) {
$value = $classOrObjectType->getValue();
if (!$this->reflectionProvider->hasClass($value)) {
return ConstantArrayTypeAndMethod::createUnknown();
}
$classReflection = $this->reflectionProvider->getClass($value);
$type = new ObjectType($classReflection->getName());
} elseif ($objectWithoutClassType->isSuperTypeOf($classOrObjectType)->yes()) {
$type = $classOrObjectType;
} else {
return ConstantArrayTypeAndMethod::createUnknown();
}
$trinaryLogic = $type->hasMethod($methodType->getValue());
if (!$trinaryLogic->no()) {
return ConstantArrayTypeAndMethod::createConcrete($type, $methodType->getValue(), $trinaryLogic);
}
return null;
}
private function areKeyTypesValid(ConstantArrayType $constantArrayType) : bool
{
$keyTypes = $constantArrayType->getKeyTypes();
if (\count($keyTypes) !== 2) {
return \false;
}
if ($keyTypes[0]->isSuperTypeOf(new ConstantIntegerType(0))->no()) {
return \false;
}
return !$keyTypes[1]->isSuperTypeOf(new ConstantIntegerType(1))->no();
}
}

View File

@ -1,79 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver;
use RectorPrefix202309\Nette\Utils\Strings;
use PhpParser\Node\Name;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\FunctionReflection;
use PHPStan\Reflection\MethodReflection;
use PHPStan\Reflection\ReflectionProvider;
use PHPStan\Type\Constant\ConstantStringType;
use PHPStan\Type\Type;
use Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverInterface;
/**
* @see https://github.com/phpstan/phpstan-src/blob/b1fd47bda2a7a7d25091197b125c0adf82af6757/src/Type/Constant/ConstantStringType.php#L147
*
* @implements TypeToCallReflectionResolverInterface<ConstantStringType>
*/
final class ConstantStringTypeToCallReflectionResolver implements TypeToCallReflectionResolverInterface
{
/**
* @readonly
* @var \PHPStan\Reflection\ReflectionProvider
*/
private $reflectionProvider;
/**
* Took from https://github.com/phpstan/phpstan-src/blob/8376548f76e2c845ae047e3010e873015b796818/src/Type/Constant/ConstantStringType.php#L158
*
* @see https://regex101.com/r/IE6lcM/4
*
* @var string
*/
private const STATIC_METHOD_REGEX = '#^(?<' . self::CLASS_KEY . '>[a-zA-Z_\\x7f-\\xff\\\\][a-zA-Z0-9_\\x7f-\\xff\\\\]*)::(?<' . self::METHOD_KEY . '>[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*)\\z#';
/**
* @var string
*/
private const CLASS_KEY = 'class';
/**
* @var string
*/
private const METHOD_KEY = 'method';
public function __construct(ReflectionProvider $reflectionProvider)
{
$this->reflectionProvider = $reflectionProvider;
}
public function supports(Type $type) : bool
{
return $type instanceof ConstantStringType;
}
/**
* @param ConstantStringType $type
* @return \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection|null
*/
public function resolve(Type $type, Scope $scope)
{
$value = $type->getValue();
// 'my_function'
$name = new Name($value);
if ($this->reflectionProvider->hasFunction($name, null)) {
return $this->reflectionProvider->getFunction($name, null);
}
// 'MyClass::myStaticFunction'
$matches = Strings::match($value, self::STATIC_METHOD_REGEX);
if ($matches === null) {
return null;
}
$class = $matches[self::CLASS_KEY];
if (!$this->reflectionProvider->hasClass($class)) {
return null;
}
$classReflection = $this->reflectionProvider->getClass($class);
$method = $matches[self::METHOD_KEY];
if (!$classReflection->hasMethod($method)) {
return null;
}
return $classReflection->getMethod($method, $scope);
}
}

View File

@ -1,48 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\MethodReflection;
use PHPStan\Reflection\ReflectionProvider;
use PHPStan\Type\ObjectType;
use PHPStan\Type\Type;
use Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverInterface;
use Rector\Core\ValueObject\MethodName;
/**
* @see https://github.com/phpstan/phpstan-src/blob/b1fd47bda2a7a7d25091197b125c0adf82af6757/src/Type/ObjectType.php#L705
*
* @implements TypeToCallReflectionResolverInterface<ObjectType>
*/
final class ObjectTypeToCallReflectionResolver implements TypeToCallReflectionResolverInterface
{
/**
* @readonly
* @var \PHPStan\Reflection\ReflectionProvider
*/
private $reflectionProvider;
public function __construct(ReflectionProvider $reflectionProvider)
{
$this->reflectionProvider = $reflectionProvider;
}
public function supports(Type $type) : bool
{
return $type instanceof ObjectType;
}
/**
* @param ObjectType $type
*/
public function resolve(Type $type, Scope $scope) : ?MethodReflection
{
$className = $type->getClassName();
if (!$this->reflectionProvider->hasClass($className)) {
return null;
}
$classReflection = $this->reflectionProvider->getClass($className);
if (!$classReflection->hasNativeMethod(MethodName::INVOKE)) {
return null;
}
return $classReflection->getNativeMethod(MethodName::INVOKE);
}
}

View File

@ -1,34 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\FunctionReflection;
use PHPStan\Reflection\MethodReflection;
use PHPStan\Type\Type;
use Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverInterface;
final class TypeToCallReflectionResolverRegistry
{
/**
* @var TypeToCallReflectionResolverInterface[]
*/
private $typeToCallReflectionResolvers = [];
public function __construct(\Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver\ClosureTypeToCallReflectionResolver $closureTypeToCallReflectionResolver, \Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver\ConstantArrayTypeToCallReflectionResolver $constantArrayTypeToCallReflectionResolver, \Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver\ConstantStringTypeToCallReflectionResolver $constantStringTypeToCallReflectionResolver, \Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver\ObjectTypeToCallReflectionResolver $objectTypeToCallReflectionResolver)
{
$this->typeToCallReflectionResolvers = [$closureTypeToCallReflectionResolver, $constantArrayTypeToCallReflectionResolver, $constantStringTypeToCallReflectionResolver, $objectTypeToCallReflectionResolver];
}
/**
* @return \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection|null
*/
public function resolve(Type $type, Scope $scope)
{
foreach ($this->typeToCallReflectionResolvers as $typeToCallReflectionResolver) {
if (!$typeToCallReflectionResolver->supports($type)) {
continue;
}
return $typeToCallReflectionResolver->resolve($type, $scope);
}
return null;
}
}

View File

@ -25,7 +25,6 @@ use PHPStan\Type\TypeWithClassName;
use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\NodeAnalyzer\ClassAnalyzer;
use Rector\Core\PhpParser\AstResolver;
use Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverRegistry;
use Rector\Core\ValueObject\MethodName;
use Rector\NodeNameResolver\NodeNameResolver;
use Rector\NodeTypeResolver\Node\AttributeKey;
@ -48,11 +47,6 @@ final class ReflectionResolver
* @var \Rector\NodeNameResolver\NodeNameResolver
*/
private $nodeNameResolver;
/**
* @readonly
* @var \Rector\Core\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverRegistry
*/
private $typeToCallReflectionResolverRegistry;
/**
* @readonly
* @var \Rector\Core\NodeAnalyzer\ClassAnalyzer
@ -68,12 +62,11 @@ final class ReflectionResolver
* @var \Rector\Core\PhpParser\AstResolver
*/
private $astResolver;
public function __construct(ReflectionProvider $reflectionProvider, NodeTypeResolver $nodeTypeResolver, NodeNameResolver $nodeNameResolver, TypeToCallReflectionResolverRegistry $typeToCallReflectionResolverRegistry, ClassAnalyzer $classAnalyzer, \Rector\Core\Reflection\MethodReflectionResolver $methodReflectionResolver, AstResolver $astResolver)
public function __construct(ReflectionProvider $reflectionProvider, NodeTypeResolver $nodeTypeResolver, NodeNameResolver $nodeNameResolver, ClassAnalyzer $classAnalyzer, \Rector\Core\Reflection\MethodReflectionResolver $methodReflectionResolver, AstResolver $astResolver)
{
$this->reflectionProvider = $reflectionProvider;
$this->nodeTypeResolver = $nodeTypeResolver;
$this->nodeNameResolver = $nodeNameResolver;
$this->typeToCallReflectionResolverRegistry = $typeToCallReflectionResolverRegistry;
$this->classAnalyzer = $classAnalyzer;
$this->methodReflectionResolver = $methodReflectionResolver;
$this->astResolver = $astResolver;
@ -235,17 +228,12 @@ final class ReflectionResolver
private function resolveFunctionReflectionFromFuncCall(FuncCall $funcCall)
{
$scope = $funcCall->getAttribute(AttributeKey::SCOPE);
if ($funcCall->name instanceof Name) {
if ($this->reflectionProvider->hasFunction($funcCall->name, $scope)) {
return $this->reflectionProvider->getFunction($funcCall->name, $scope);
}
if (!$funcCall->name instanceof Name) {
return null;
}
if (!$scope instanceof Scope) {
return null;
if ($this->reflectionProvider->hasFunction($funcCall->name, $scope)) {
return $this->reflectionProvider->getFunction($funcCall->name, $scope);
}
// fallback to callable
$funcCallNameType = $scope->getType($funcCall->name);
return $this->typeToCallReflectionResolverRegistry->resolve($funcCallNameType, $scope);
return null;
}
}

2
vendor/autoload.php vendored
View File

@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit9e2986b0cd0945b57061a07173b90a79::getLoader();
return ComposerAutoloaderInitc0feb79d206785d2e04cfff381147395::getLoader();

View File

@ -1177,7 +1177,6 @@ return array(
'Rector\\Core\\Console\\Style\\RectorStyle' => $baseDir . '/src/Console/Style/RectorStyle.php',
'Rector\\Core\\Console\\Style\\SymfonyStyleFactory' => $baseDir . '/src/Console/Style/SymfonyStyleFactory.php',
'Rector\\Core\\Contract\\DependencyInjection\\ResetableInterface' => $baseDir . '/src/Contract/DependencyInjection/ResetableInterface.php',
'Rector\\Core\\Contract\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\TypeToCallReflectionResolverInterface' => $baseDir . '/src/Contract/PHPStan/Reflection/TypeToCallReflectionResolver/TypeToCallReflectionResolverInterface.php',
'Rector\\Core\\Contract\\PhpParser\\Node\\StmtsAwareInterface' => $baseDir . '/src/Contract/PhpParser/Node/StmtsAwareInterface.php',
'Rector\\Core\\Contract\\Rector\\ConfigurableRectorInterface' => $baseDir . '/src/Contract/Rector/ConfigurableRectorInterface.php',
'Rector\\Core\\Contract\\Rector\\NonPhpRectorInterface' => $baseDir . '/src/Contract/Rector/NonPhpRectorInterface.php',
@ -1242,11 +1241,6 @@ return array(
'Rector\\Core\\PHPStan\\NodeVisitor\\ExprScopeFromStmtNodeVisitor' => $baseDir . '/src/PHPStan/NodeVisitor/ExprScopeFromStmtNodeVisitor.php',
'Rector\\Core\\PHPStan\\NodeVisitor\\UnreachableStatementNodeVisitor' => $baseDir . '/src/PHPStan/NodeVisitor/UnreachableStatementNodeVisitor.php',
'Rector\\Core\\PHPStan\\NodeVisitor\\WrappedNodeRestoringNodeVisitor' => $baseDir . '/src/PHPStan/NodeVisitor/WrappedNodeRestoringNodeVisitor.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ClosureTypeToCallReflectionResolver' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ClosureTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantArrayTypeToCallReflectionResolver' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantArrayTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantStringTypeToCallReflectionResolver' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantStringTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ObjectTypeToCallReflectionResolver' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ObjectTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\TypeToCallReflectionResolverRegistry' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/TypeToCallReflectionResolverRegistry.php',
'Rector\\Core\\PhpParser\\AstResolver' => $baseDir . '/src/PhpParser/AstResolver.php',
'Rector\\Core\\PhpParser\\ClassLikeAstResolver' => $baseDir . '/src/PhpParser/ClassLikeAstResolver.php',
'Rector\\Core\\PhpParser\\Comparing\\NodeComparator' => $baseDir . '/src/PhpParser/Comparing/NodeComparator.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit9e2986b0cd0945b57061a07173b90a79
class ComposerAutoloaderInitc0feb79d206785d2e04cfff381147395
{
private static $loader;
@ -22,17 +22,17 @@ class ComposerAutoloaderInit9e2986b0cd0945b57061a07173b90a79
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit9e2986b0cd0945b57061a07173b90a79', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitc0feb79d206785d2e04cfff381147395', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit9e2986b0cd0945b57061a07173b90a79', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitc0feb79d206785d2e04cfff381147395', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit9e2986b0cd0945b57061a07173b90a79::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitc0feb79d206785d2e04cfff381147395::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInit9e2986b0cd0945b57061a07173b90a79::$files;
$filesToLoad = \Composer\Autoload\ComposerStaticInitc0feb79d206785d2e04cfff381147395::$files;
$requireFile = \Closure::bind(static function ($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 ComposerStaticInit9e2986b0cd0945b57061a07173b90a79
class ComposerStaticInitc0feb79d206785d2e04cfff381147395
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@ -1397,7 +1397,6 @@ class ComposerStaticInit9e2986b0cd0945b57061a07173b90a79
'Rector\\Core\\Console\\Style\\RectorStyle' => __DIR__ . '/../..' . '/src/Console/Style/RectorStyle.php',
'Rector\\Core\\Console\\Style\\SymfonyStyleFactory' => __DIR__ . '/../..' . '/src/Console/Style/SymfonyStyleFactory.php',
'Rector\\Core\\Contract\\DependencyInjection\\ResetableInterface' => __DIR__ . '/../..' . '/src/Contract/DependencyInjection/ResetableInterface.php',
'Rector\\Core\\Contract\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\TypeToCallReflectionResolverInterface' => __DIR__ . '/../..' . '/src/Contract/PHPStan/Reflection/TypeToCallReflectionResolver/TypeToCallReflectionResolverInterface.php',
'Rector\\Core\\Contract\\PhpParser\\Node\\StmtsAwareInterface' => __DIR__ . '/../..' . '/src/Contract/PhpParser/Node/StmtsAwareInterface.php',
'Rector\\Core\\Contract\\Rector\\ConfigurableRectorInterface' => __DIR__ . '/../..' . '/src/Contract/Rector/ConfigurableRectorInterface.php',
'Rector\\Core\\Contract\\Rector\\NonPhpRectorInterface' => __DIR__ . '/../..' . '/src/Contract/Rector/NonPhpRectorInterface.php',
@ -1462,11 +1461,6 @@ class ComposerStaticInit9e2986b0cd0945b57061a07173b90a79
'Rector\\Core\\PHPStan\\NodeVisitor\\ExprScopeFromStmtNodeVisitor' => __DIR__ . '/../..' . '/src/PHPStan/NodeVisitor/ExprScopeFromStmtNodeVisitor.php',
'Rector\\Core\\PHPStan\\NodeVisitor\\UnreachableStatementNodeVisitor' => __DIR__ . '/../..' . '/src/PHPStan/NodeVisitor/UnreachableStatementNodeVisitor.php',
'Rector\\Core\\PHPStan\\NodeVisitor\\WrappedNodeRestoringNodeVisitor' => __DIR__ . '/../..' . '/src/PHPStan/NodeVisitor/WrappedNodeRestoringNodeVisitor.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ClosureTypeToCallReflectionResolver' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ClosureTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantArrayTypeToCallReflectionResolver' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantArrayTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantStringTypeToCallReflectionResolver' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantStringTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ObjectTypeToCallReflectionResolver' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ObjectTypeToCallReflectionResolver.php',
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\TypeToCallReflectionResolverRegistry' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/TypeToCallReflectionResolverRegistry.php',
'Rector\\Core\\PhpParser\\AstResolver' => __DIR__ . '/../..' . '/src/PhpParser/AstResolver.php',
'Rector\\Core\\PhpParser\\ClassLikeAstResolver' => __DIR__ . '/../..' . '/src/PhpParser/ClassLikeAstResolver.php',
'Rector\\Core\\PhpParser\\Comparing\\NodeComparator' => __DIR__ . '/../..' . '/src/PhpParser/Comparing/NodeComparator.php',
@ -2612,9 +2606,9 @@ class ComposerStaticInit9e2986b0cd0945b57061a07173b90a79
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit9e2986b0cd0945b57061a07173b90a79::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit9e2986b0cd0945b57061a07173b90a79::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit9e2986b0cd0945b57061a07173b90a79::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitc0feb79d206785d2e04cfff381147395::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitc0feb79d206785d2e04cfff381147395::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitc0feb79d206785d2e04cfff381147395::$classMap;
}, null, ClassLoader::class);
}