From 5fbef683589f0e20e3be369d08f2c686f6dabe0f Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 21 Nov 2023 06:31:15 +0900 Subject: [PATCH 1/2] chore: disable RemoveVarTagFromClassConstantRector If we want to write @var to constants, we can write. --- rector.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/rector.php b/rector.php index 747cd4ce8bbd..cfc84104456e 100644 --- a/rector.php +++ b/rector.php @@ -45,7 +45,6 @@ use Rector\Strict\Rector\If_\BooleanInIfConditionRuleFixerRector; use Utils\Rector\PassStrictParameterToFunctionParameterRector; use Utils\Rector\RemoveErrorSuppressInTryCatchStmtsRector; -use Utils\Rector\RemoveVarTagFromClassConstantRector; use Utils\Rector\UnderscoreToCamelCaseVariableNameRector; return static function (RectorConfig $rectorConfig): void { @@ -134,7 +133,6 @@ $rectorConfig->rule(ChangeArrayPushToArrayAssignRector::class); $rectorConfig->rule(UnnecessaryTernaryExpressionRector::class); $rectorConfig->rule(RemoveErrorSuppressInTryCatchStmtsRector::class); - $rectorConfig->rule(RemoveVarTagFromClassConstantRector::class); $rectorConfig->rule(SimplifyRegexPatternRector::class); $rectorConfig->rule(FuncGetArgsToVariadicParamRector::class); $rectorConfig->rule(MakeInheritedMethodVisibilitySameAsParentRector::class); From 6153d4dffcdbaffdb4e5fe8a1ef86418879c139d Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 21 Nov 2023 13:02:13 +0900 Subject: [PATCH 2/2] chore: remove RemoveVarTagFromClassConstantRector class --- .../RemoveVarTagFromClassConstantRector.php | 82 ------------------- 1 file changed, 82 deletions(-) delete mode 100644 utils/Rector/RemoveVarTagFromClassConstantRector.php diff --git a/utils/Rector/RemoveVarTagFromClassConstantRector.php b/utils/Rector/RemoveVarTagFromClassConstantRector.php deleted file mode 100644 index 2393516f508b..000000000000 --- a/utils/Rector/RemoveVarTagFromClassConstantRector.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Utils\Rector; - -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', [ - new CodeSample( - <<<'CODE_SAMPLE' - class Foo - { - /** @var string */ - const X = 'test'; - } - CODE_SAMPLE, - <<<'CODE_SAMPLE' - class Foo - { - const X = 'test'; - } - CODE_SAMPLE - ), - ]); - } - - /** - * @return string[] - */ - public function getNodeTypes(): array - { - return [ClassConst::class]; - } - - /** - * @param ClassConst $node - */ - public function refactor(Node $node): ?Node - { - $phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node); - $varTagValueNode = $phpDocInfo->getVarTagValueNode(); - if (! $varTagValueNode instanceof VarTagValueNode) { - return null; - } - - $phpDocInfo->removeByType(VarTagValueNode::class); - - $this->docBlockUpdater->updateRefactoredNodeWithPhpDocInfo($node); - - return $node; - } -}