diff --git a/composer.json b/composer.json index 2258eca9ac4d..27e77b515910 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,7 @@ "phpunit/phpcov": "^8.2", "phpunit/phpunit": "^9.1", "predis/predis": "^1.1 || ^2.0", - "rector/rector": "0.18.3", + "rector/rector": "0.18.4", "vimeo/psalm": "^5.0" }, "suggest": { diff --git a/utils/Rector/RemoveVarTagFromClassConstantRector.php b/utils/Rector/RemoveVarTagFromClassConstantRector.php index d780c8647cbd..2393516f508b 100644 --- a/utils/Rector/RemoveVarTagFromClassConstantRector.php +++ b/utils/Rector/RemoveVarTagFromClassConstantRector.php @@ -16,12 +16,23 @@ use PhpParser\Node; use PhpParser\Node\Stmt\ClassConst; use PHPStan\PhpDocParser\Ast\PhpDoc\VarTagValueNode; +use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory; +use Rector\Comments\NodeDocBlock\DocBlockUpdater; use Rector\Core\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; final class RemoveVarTagFromClassConstantRector extends AbstractRector { + private PhpDocInfoFactory $phpDocInfoFactory; + private DocBlockUpdater $docBlockUpdater; + + public function __construct(PhpDocInfoFactory $phpDocInfoFactory, DocBlockUpdater $docBlockUpdater) + { + $this->phpDocInfoFactory = $phpDocInfoFactory; + $this->docBlockUpdater = $docBlockUpdater; + } + public function getRuleDefinition(): RuleDefinition { return new RuleDefinition('Remove @var tag from class constant', [ @@ -64,6 +75,8 @@ public function refactor(Node $node): ?Node $phpDocInfo->removeByType(VarTagValueNode::class); + $this->docBlockUpdater->updateRefactoredNodeWithPhpDocInfo($node); + return $node; } }