Updated Rector to commit d5069f0fccf649646eeea05b5291c0ac34e511d6

d5069f0fcc [Php83] Handle default native constant on AddTypeToConstRector (#5843)
This commit is contained in:
Tomas Votruba 2024-04-23 12:10:57 +00:00
parent a3b725126c
commit d5e203a6e9
2 changed files with 21 additions and 8 deletions

View File

@ -19,7 +19,9 @@ use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassConst;
use PHPStan\Reflection\ClassReflection;
use PHPStan\Reflection\ReflectionProvider;
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
use Rector\Rector\AbstractRector;
use Rector\StaticTypeMapper\StaticTypeMapper;
use Rector\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
@ -34,9 +36,15 @@ final class AddTypeToConstRector extends AbstractRector implements MinPhpVersion
* @var \PHPStan\Reflection\ReflectionProvider
*/
private $reflectionProvider;
public function __construct(ReflectionProvider $reflectionProvider)
/**
* @readonly
* @var \Rector\StaticTypeMapper\StaticTypeMapper
*/
private $staticTypeMapper;
public function __construct(ReflectionProvider $reflectionProvider, StaticTypeMapper $staticTypeMapper)
{
$this->reflectionProvider = $reflectionProvider;
$this->staticTypeMapper = $staticTypeMapper;
}
public function getRuleDefinition() : RuleDefinition
{
@ -133,11 +141,16 @@ CODE_SAMPLE
if ($expr instanceof DNumber) {
return new Identifier('float');
}
if ($expr instanceof ConstFetch && $expr->name->toLowerString() !== 'null') {
return new Identifier('bool');
}
if ($expr instanceof ConstFetch && $expr->name->toLowerString() === 'null') {
return new Identifier('null');
if ($expr instanceof ConstFetch) {
if ($expr->name->toLowerString() === 'null') {
return new Identifier('null');
}
$type = $this->nodeTypeResolver->getNativeType($expr);
$nodeType = $this->staticTypeMapper->mapPHPStanTypeToPhpParserNode($type, TypeKind::PROPERTY);
if (!$nodeType instanceof Identifier) {
return null;
}
return $nodeType;
}
if ($expr instanceof Array_) {
return new Identifier('array');

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = '775916c6416e68507e846421f04e2cabbfa2d737';
public const PACKAGE_VERSION = 'd5069f0fccf649646eeea05b5291c0ac34e511d6';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2024-04-23 11:03:42';
public const RELEASE_DATE = '2024-04-23 19:08:22';
/**
* @var int
*/