Skip to content

Commit d0924ce

Browse files
committed
Updated Rector to commit 40d87af2a23d28b6da5392852afc624ec2390550
rectorphp/rector-src@40d87af [TypeDeclaration] Skip class not found on ObjectTypedPropertyFromJMSSerializerAttributeTypeRector (#7774)
1 parent acfc784 commit d0924ce

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

rules/TypeDeclaration/NodeFactory/JMSTypePropertyTypeFactory.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
use PhpParser\Node;
77
use PhpParser\Node\Identifier;
8+
use PhpParser\Node\Name\FullyQualified;
89
use PhpParser\Node\Stmt\Property;
10+
use PHPStan\Reflection\ReflectionProvider;
911
use PHPStan\Type\FloatType;
1012
use PHPStan\Type\MixedType;
1113
use PHPStan\Type\ObjectType;
@@ -34,12 +36,17 @@ final class JMSTypePropertyTypeFactory
3436
* @readonly
3537
*/
3638
private VarTagRemover $varTagRemover;
37-
public function __construct(ScalarStringToTypeMapper $scalarStringToTypeMapper, StaticTypeMapper $staticTypeMapper, PhpDocInfoFactory $phpDocInfoFactory, VarTagRemover $varTagRemover)
39+
/**
40+
* @readonly
41+
*/
42+
private ReflectionProvider $reflectionProvider;
43+
public function __construct(ScalarStringToTypeMapper $scalarStringToTypeMapper, StaticTypeMapper $staticTypeMapper, PhpDocInfoFactory $phpDocInfoFactory, VarTagRemover $varTagRemover, ReflectionProvider $reflectionProvider)
3844
{
3945
$this->scalarStringToTypeMapper = $scalarStringToTypeMapper;
4046
$this->staticTypeMapper = $staticTypeMapper;
4147
$this->phpDocInfoFactory = $phpDocInfoFactory;
4248
$this->varTagRemover = $varTagRemover;
49+
$this->reflectionProvider = $reflectionProvider;
4350
}
4451
public function createObjectTypeNode(string $typeValue): ?Node
4552
{
@@ -52,7 +59,11 @@ public function createObjectTypeNode(string $typeValue): ?Node
5259
// fallback to object type
5360
$type = new ObjectType($typeValue);
5461
}
55-
return $this->staticTypeMapper->mapPHPStanTypeToPhpParserNode($type, TypeKind::PROPERTY);
62+
$node = $this->staticTypeMapper->mapPHPStanTypeToPhpParserNode($type, TypeKind::PROPERTY);
63+
if ($node instanceof FullyQualified && !$this->reflectionProvider->hasClass($node->toString())) {
64+
return null;
65+
}
66+
return $node;
5667
}
5768
public function createScalarTypeNode(string $typeValue, Property $property): ?Node
5869
{

src/Application/VersionResolver.php

Lines changed: 2 additions & 2 deletions
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 = '6a1aa20006298c6967cad644a584f9bf4e6e5ad8';
22+
public const PACKAGE_VERSION = '40d87af2a23d28b6da5392852afc624ec2390550';
2323
/**
2424
* @api
2525
* @var string
2626
*/
27-
public const RELEASE_DATE = '2025-12-24 10:19:37';
27+
public const RELEASE_DATE = '2025-12-24 10:28:06';
2828
/**
2929
* @var int
3030
*/

0 commit comments

Comments
 (0)