mirror of
https://github.com/rectorphp/rector.git
synced 2025-03-14 12:29:43 +01:00
Updated Rector to commit df8d2b78edd46542e6426fec606c3ea98d712532
df8d2b78ed
Copy subtype phpdoc on ClassPropertyAssignToConstructorPromotionRector (#8438) (#5603)
This commit is contained in:
parent
1e3b11c5e1
commit
7f9bb2ae80
@ -14,6 +14,7 @@ use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Comments\NodeDocBlock\DocBlockUpdater;
|
||||
use Rector\DeadCode\PhpDoc\DeadVarTagValueNodeAnalyzer;
|
||||
use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
|
||||
use Rector\PHPStanStaticTypeMapper\DoctrineTypeAnalyzer;
|
||||
final class VarTagRemover
|
||||
{
|
||||
@ -42,13 +43,19 @@ final class VarTagRemover
|
||||
* @var \Rector\Comments\NodeDocBlock\DocBlockUpdater
|
||||
*/
|
||||
private $docBlockUpdater;
|
||||
public function __construct(DoctrineTypeAnalyzer $doctrineTypeAnalyzer, PhpDocInfoFactory $phpDocInfoFactory, DeadVarTagValueNodeAnalyzer $deadVarTagValueNodeAnalyzer, PhpDocTypeChanger $phpDocTypeChanger, DocBlockUpdater $docBlockUpdater)
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\TypeComparator\TypeComparator
|
||||
*/
|
||||
private $typeComparator;
|
||||
public function __construct(DoctrineTypeAnalyzer $doctrineTypeAnalyzer, PhpDocInfoFactory $phpDocInfoFactory, DeadVarTagValueNodeAnalyzer $deadVarTagValueNodeAnalyzer, PhpDocTypeChanger $phpDocTypeChanger, DocBlockUpdater $docBlockUpdater, TypeComparator $typeComparator)
|
||||
{
|
||||
$this->doctrineTypeAnalyzer = $doctrineTypeAnalyzer;
|
||||
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
||||
$this->deadVarTagValueNodeAnalyzer = $deadVarTagValueNodeAnalyzer;
|
||||
$this->phpDocTypeChanger = $phpDocTypeChanger;
|
||||
$this->docBlockUpdater = $docBlockUpdater;
|
||||
$this->typeComparator = $typeComparator;
|
||||
}
|
||||
public function removeVarTagIfUseless(PhpDocInfo $phpDocInfo, Property $property) : bool
|
||||
{
|
||||
@ -92,7 +99,15 @@ final class VarTagRemover
|
||||
if ($this->phpDocTypeChanger->isAllowed($varTagValueNode->type)) {
|
||||
return;
|
||||
}
|
||||
// keep subtypes like positive-int
|
||||
if ($this->shouldKeepSubtypes($type, $phpDocInfo->getVarType())) {
|
||||
return;
|
||||
}
|
||||
$phpDocInfo->removeByType(VarTagValueNode::class);
|
||||
$this->docBlockUpdater->updateRefactoredNodeWithPhpDocInfo($node);
|
||||
}
|
||||
private function shouldKeepSubtypes(Type $type, Type $varType) : bool
|
||||
{
|
||||
return !$this->typeComparator->areTypesEqual($type, $varType) && $this->typeComparator->isSubtype($varType, $type);
|
||||
}
|
||||
}
|
||||
|
@ -19,12 +19,12 @@ final class VersionResolver
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '6980dc63c77d0214730c94e0c620fa729047f879';
|
||||
public const PACKAGE_VERSION = 'df8d2b78edd46542e6426fec606c3ea98d712532';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2024-02-11 15:15:49';
|
||||
public const RELEASE_DATE = '2024-02-11 15:57:49';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user