mirror of
https://github.com/rectorphp/rector.git
synced 2025-04-22 08:25:02 +02:00
Updated Rector to commit 1c20d81c56a0ec9cb7663421add2bd1004278370
1c20d81c56
Bump to PHPStan 1.12.2 and Fix test (#6289)
This commit is contained in:
parent
e7b61135b9
commit
9fd26b514b
@ -8,7 +8,7 @@
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.2|^8.0",
|
||||
"phpstan/phpstan": "^1.11.11"
|
||||
"phpstan/phpstan": "^1.12.2"
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
|
@ -20,7 +20,9 @@ use PHPStan\Type\ObjectType;
|
||||
use PHPStan\Type\UnionType;
|
||||
use Rector\Php\PhpVersionProvider;
|
||||
use Rector\PhpParser\Node\BetterNodeFinder;
|
||||
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
|
||||
use Rector\Rector\AbstractScopeAwareRector;
|
||||
use Rector\StaticTypeMapper\StaticTypeMapper;
|
||||
use Rector\TypeDeclaration\NodeAnalyzer\ReturnAnalyzer;
|
||||
use Rector\TypeDeclaration\NodeAnalyzer\TypeNodeUnwrapper;
|
||||
use Rector\TypeDeclaration\TypeAnalyzer\ReturnStrictTypeAnalyzer;
|
||||
@ -70,7 +72,12 @@ final class ReturnTypeFromStrictTypedCallRector extends AbstractScopeAwareRector
|
||||
* @var \Rector\TypeDeclaration\NodeAnalyzer\ReturnAnalyzer
|
||||
*/
|
||||
private $returnAnalyzer;
|
||||
public function __construct(TypeNodeUnwrapper $typeNodeUnwrapper, ReturnStrictTypeAnalyzer $returnStrictTypeAnalyzer, ReturnTypeInferer $returnTypeInferer, BetterNodeFinder $betterNodeFinder, PhpVersionProvider $phpVersionProvider, ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard, ReturnAnalyzer $returnAnalyzer)
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\StaticTypeMapper\StaticTypeMapper
|
||||
*/
|
||||
private $staticTypeMapper;
|
||||
public function __construct(TypeNodeUnwrapper $typeNodeUnwrapper, ReturnStrictTypeAnalyzer $returnStrictTypeAnalyzer, ReturnTypeInferer $returnTypeInferer, BetterNodeFinder $betterNodeFinder, PhpVersionProvider $phpVersionProvider, ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard, ReturnAnalyzer $returnAnalyzer, StaticTypeMapper $staticTypeMapper)
|
||||
{
|
||||
$this->typeNodeUnwrapper = $typeNodeUnwrapper;
|
||||
$this->returnStrictTypeAnalyzer = $returnStrictTypeAnalyzer;
|
||||
@ -79,6 +86,7 @@ final class ReturnTypeFromStrictTypedCallRector extends AbstractScopeAwareRector
|
||||
$this->phpVersionProvider = $phpVersionProvider;
|
||||
$this->classMethodReturnTypeOverrideGuard = $classMethodReturnTypeOverrideGuard;
|
||||
$this->returnAnalyzer = $returnAnalyzer;
|
||||
$this->staticTypeMapper = $staticTypeMapper;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
@ -152,7 +160,14 @@ CODE_SAMPLE
|
||||
if ($this->phpVersionProvider->isAtLeastPhpVersion(PhpVersionFeature::UNION_TYPES)) {
|
||||
/** @var PhpParserUnionType[] $returnedStrictTypes */
|
||||
$unwrappedTypes = $this->typeNodeUnwrapper->unwrapNullableUnionTypes($returnedStrictTypes);
|
||||
$node->returnType = new PhpParserUnionType($unwrappedTypes);
|
||||
$unionType = new PhpParserUnionType($unwrappedTypes);
|
||||
$type = $this->staticTypeMapper->mapPhpParserNodePHPStanType($unionType);
|
||||
$returnType = $this->staticTypeMapper->mapPHPStanTypeToPhpParserNode($type, TypeKind::RETURN);
|
||||
// verify type transformed into node
|
||||
if (!$returnType instanceof Node) {
|
||||
return null;
|
||||
}
|
||||
$node->returnType = $unionType;
|
||||
return $node;
|
||||
}
|
||||
return null;
|
||||
|
@ -123,6 +123,9 @@ final class ReturnStrictTypeAnalyzer
|
||||
$returnType = $parametersAcceptorWithPhpDocs->getReturnType();
|
||||
}
|
||||
if ($returnType instanceof MixedType) {
|
||||
if ($returnType->isExplicitMixed()) {
|
||||
return $returnType;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return $this->normalizeStaticType($call, $returnType);
|
||||
|
@ -19,12 +19,12 @@ final class VersionResolver
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '340e5226000cba351cc282ca572af6f76418e1bd';
|
||||
public const PACKAGE_VERSION = '1c20d81c56a0ec9cb7663421add2bd1004278370';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2024-09-04 10:15:14';
|
||||
public const RELEASE_DATE = '2024-09-06 04:13:29';
|
||||
/**
|
||||
* @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 ComposerAutoloaderInit405b802987ff3d3f3036f8eb8aeba1f9::getLoader();
|
||||
return ComposerAutoloaderInit71df4959ab5d17cc3273dd40c295b701::getLoader();
|
||||
|
10
vendor/composer/autoload_real.php
vendored
10
vendor/composer/autoload_real.php
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInit405b802987ff3d3f3036f8eb8aeba1f9
|
||||
class ComposerAutoloaderInit71df4959ab5d17cc3273dd40c295b701
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
@ -22,17 +22,17 @@ class ComposerAutoloaderInit405b802987ff3d3f3036f8eb8aeba1f9
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit405b802987ff3d3f3036f8eb8aeba1f9', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit71df4959ab5d17cc3273dd40c295b701', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit405b802987ff3d3f3036f8eb8aeba1f9', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit71df4959ab5d17cc3273dd40c295b701', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit405b802987ff3d3f3036f8eb8aeba1f9::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit71df4959ab5d17cc3273dd40c295b701::getInitializer($loader));
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->register(true);
|
||||
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInit405b802987ff3d3f3036f8eb8aeba1f9::$files;
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInit71df4959ab5d17cc3273dd40c295b701::$files;
|
||||
$requireFile = \Closure::bind(static function ($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 ComposerStaticInit405b802987ff3d3f3036f8eb8aeba1f9
|
||||
class ComposerStaticInit71df4959ab5d17cc3273dd40c295b701
|
||||
{
|
||||
public static $files = array (
|
||||
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
||||
@ -2792,9 +2792,9 @@ class ComposerStaticInit405b802987ff3d3f3036f8eb8aeba1f9
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit405b802987ff3d3f3036f8eb8aeba1f9::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit405b802987ff3d3f3036f8eb8aeba1f9::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit405b802987ff3d3f3036f8eb8aeba1f9::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit71df4959ab5d17cc3273dd40c295b701::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit71df4959ab5d17cc3273dd40c295b701::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit71df4959ab5d17cc3273dd40c295b701::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
2
vendor/composer/installed.php
vendored
2
vendor/composer/installed.php
vendored
File diff suppressed because one or more lines are too long
2
vendor/scoper-autoload.php
vendored
2
vendor/scoper-autoload.php
vendored
@ -30,7 +30,7 @@ if (!function_exists('humbug_phpscoper_expose_class')) {
|
||||
}
|
||||
}
|
||||
humbug_phpscoper_expose_class('AutoloadIncluder', 'RectorPrefix202409\AutoloadIncluder');
|
||||
humbug_phpscoper_expose_class('ComposerAutoloaderInit405b802987ff3d3f3036f8eb8aeba1f9', 'RectorPrefix202409\ComposerAutoloaderInit405b802987ff3d3f3036f8eb8aeba1f9');
|
||||
humbug_phpscoper_expose_class('ComposerAutoloaderInit71df4959ab5d17cc3273dd40c295b701', 'RectorPrefix202409\ComposerAutoloaderInit71df4959ab5d17cc3273dd40c295b701');
|
||||
humbug_phpscoper_expose_class('Product', 'RectorPrefix202409\Product');
|
||||
|
||||
// Function aliases. For more information see:
|
||||
|
Loading…
x
Reference in New Issue
Block a user