Updated Rector to commit 73112a253e40199adda14259717e4d8c630c97d1

73112a253e [StaticTypeMapper] Remove #[Required] on IntersectionTypeMapper (#4700)
This commit is contained in:
Tomas Votruba 2023-08-07 10:02:12 +00:00
parent ec1aef0b55
commit 60a90b19ce
5 changed files with 25 additions and 24 deletions

View File

@ -5,33 +5,31 @@ namespace Rector\StaticTypeMapper\PhpDocParser;
use PhpParser\Node;
use PHPStan\Analyser\NameScope;
use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
use PHPStan\PhpDocParser\Ast\Type\IntersectionTypeNode;
use PHPStan\PhpDocParser\Ast\Type\TypeNode;
use PHPStan\Type\IntersectionType;
use PHPStan\Type\MixedType;
use PHPStan\Type\Type;
use Rector\StaticTypeMapper\Contract\PhpDocParser\PhpDocTypeMapperInterface;
use Rector\StaticTypeMapper\PhpDoc\PhpDocTypeMapper;
use RectorPrefix202308\Symfony\Contracts\Service\Attribute\Required;
/**
* @implements PhpDocTypeMapperInterface<IntersectionTypeNode>
*/
final class IntersectionTypeMapper implements PhpDocTypeMapperInterface
{
/**
* @var \Rector\StaticTypeMapper\PhpDoc\PhpDocTypeMapper
* @readonly
* @var \Rector\StaticTypeMapper\PhpDocParser\IdentifierTypeMapper
*/
private $phpDocTypeMapper;
private $identifierTypeMapper;
public function __construct(\Rector\StaticTypeMapper\PhpDocParser\IdentifierTypeMapper $identifierTypeMapper)
{
$this->identifierTypeMapper = $identifierTypeMapper;
}
public function getNodeType() : string
{
return IntersectionTypeNode::class;
}
/**
* @required
*/
public function autowire(PhpDocTypeMapper $phpDocTypeMapper) : void
{
$this->phpDocTypeMapper = $phpDocTypeMapper;
}
/**
* @param IntersectionTypeNode $typeNode
*/
@ -39,7 +37,10 @@ final class IntersectionTypeMapper implements PhpDocTypeMapperInterface
{
$intersectionedTypes = [];
foreach ($typeNode->types as $intersectionedTypeNode) {
$intersectionedTypes[] = $this->phpDocTypeMapper->mapToPHPStanType($intersectionedTypeNode, $node, $nameScope);
if (!$intersectionedTypeNode instanceof IdentifierTypeNode) {
return new MixedType();
}
$intersectionedTypes[] = $this->identifierTypeMapper->mapIdentifierTypeNode($intersectionedTypeNode, $node);
}
return new IntersectionType($intersectionedTypes);
}

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'bb2e1e5fc0d15c83cd9df52d7fe6da22c1bb169d';
public const PACKAGE_VERSION = '73112a253e40199adda14259717e4d8c630c97d1';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-08-07 16:44:11';
public const RELEASE_DATE = '2023-08-07 16:58:34';
/**
* @var int
*/

2
vendor/autoload.php vendored
View File

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

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit634b45217e6bbd035de9cf3ebf93b76d
class ComposerAutoloaderIniteb2977d07722edfb3f92b84a842954d4
{
private static $loader;
@ -22,17 +22,17 @@ class ComposerAutoloaderInit634b45217e6bbd035de9cf3ebf93b76d
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit634b45217e6bbd035de9cf3ebf93b76d', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderIniteb2977d07722edfb3f92b84a842954d4', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit634b45217e6bbd035de9cf3ebf93b76d', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderIniteb2977d07722edfb3f92b84a842954d4', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit634b45217e6bbd035de9cf3ebf93b76d::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticIniteb2977d07722edfb3f92b84a842954d4::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInit634b45217e6bbd035de9cf3ebf93b76d::$files;
$filesToLoad = \Composer\Autoload\ComposerStaticIniteb2977d07722edfb3f92b84a842954d4::$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 ComposerStaticInit634b45217e6bbd035de9cf3ebf93b76d
class ComposerStaticIniteb2977d07722edfb3f92b84a842954d4
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@ -3010,9 +3010,9 @@ class ComposerStaticInit634b45217e6bbd035de9cf3ebf93b76d
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit634b45217e6bbd035de9cf3ebf93b76d::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit634b45217e6bbd035de9cf3ebf93b76d::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit634b45217e6bbd035de9cf3ebf93b76d::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticIniteb2977d07722edfb3f92b84a842954d4::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticIniteb2977d07722edfb3f92b84a842954d4::$prefixDirsPsr4;
$loader->classMap = ComposerStaticIniteb2977d07722edfb3f92b84a842954d4::$classMap;
}, null, ClassLoader::class);
}