?????????? ????????? - ??????????????? - /opt/cpanel/ea-wappspector/vendor/rector/rector/rules/Privatization/Rector/Class_/FinalizeTestCaseClassRector.php
???????
<?php declare (strict_types=1); namespace Rector\Privatization\Rector\Class_; use PhpParser\Node; use PhpParser\Node\Stmt\Class_; use PHPStan\Reflection\ReflectionProvider; use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\Privatization\NodeManipulator\VisibilityManipulator; use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; /** * @see \Rector\Tests\Privatization\Rector\Class_\FinalizeTestCaseClassRector\FinalizeTestCaseClassRectorTest */ final class FinalizeTestCaseClassRector extends AbstractRector { /** * @readonly * @var \PHPStan\Reflection\ReflectionProvider */ private $reflectionProvider; /** * @readonly * @var \Rector\Privatization\NodeManipulator\VisibilityManipulator */ private $visibilityManipulator; public function __construct(ReflectionProvider $reflectionProvider, VisibilityManipulator $visibilityManipulator) { $this->reflectionProvider = $reflectionProvider; $this->visibilityManipulator = $visibilityManipulator; } public function getRuleDefinition() : RuleDefinition { return new RuleDefinition('PHPUnit test case will be finalized', [new CodeSample(<<<'CODE_SAMPLE' use PHPUnit\Framework\TestCase; class SomeClass extends TestCase { } CODE_SAMPLE , <<<'CODE_SAMPLE' use PHPUnit\Framework\TestCase; final class SomeClass extends TestCase { } CODE_SAMPLE )]); } /** * @return array<class-string<Node>> */ public function getNodeTypes() : array { return [Class_::class]; } /** * @param Class_ $node */ public function refactor(Node $node) : ?Node { // skip obvious cases if ($node->isAbstract() || $node->isAnonymous() || $node->isFinal()) { return null; } $className = $this->getName($node); if (!\is_string($className)) { return null; } if (\substr_compare($className, 'TestCase', -\strlen('TestCase')) === 0) { return null; } if (!$this->reflectionProvider->hasClass($className)) { return null; } $classReflection = $this->reflectionProvider->getClass($className); if (!$classReflection->isSubclassOf('PHPUnit\\Framework\\TestCase')) { return null; } if ($node->attrGroups !== []) { $node->setAttribute(AttributeKey::ORIGINAL_NODE, null); } $this->visibilityManipulator->makeFinal($node); return $node; } }
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0 |
proxy
|
phpinfo
|
???????????