[DX] Move PhpVersionProvider from AbstractRector to particular services (#2189)

This commit is contained in:
Tomas Votruba 2022-04-28 22:02:52 +02:00 committed by GitHub
parent 680e8a1e3d
commit a218dda059
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 54 additions and 23 deletions

View File

@ -11,7 +11,7 @@ Head to [`rectorphp/rector`](http://github.com/rectorphp/rector) for documentati
## Building `rectorphp/rector` ## Building `rectorphp/rector`
Code of this repository requires PHP 8. For `rector/rector` package user the build downgrades code to PHP 7.2 and higher. Code of this repository requires PHP 8. For `rector/rector` package the build downgrades code to PHP 7.2+.
## How to Contribute ## How to Contribute

View File

@ -12,6 +12,7 @@ use PhpParser\Node\Stmt\Return_;
use PHPStan\Analyser\Scope; use PHPStan\Analyser\Scope;
use PHPStan\Reflection\ClassReflection; use PHPStan\Reflection\ClassReflection;
use Rector\Core\Enum\ObjectReference; use Rector\Core\Enum\ObjectReference;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\MethodName; use Rector\Core\ValueObject\MethodName;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
@ -29,7 +30,8 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
final class MakeInheritedMethodVisibilitySameAsParentRector extends AbstractRector final class MakeInheritedMethodVisibilitySameAsParentRector extends AbstractRector
{ {
public function __construct( public function __construct(
private readonly VisibilityManipulator $visibilityManipulator private readonly VisibilityManipulator $visibilityManipulator,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -13,6 +13,7 @@ use PhpParser\Node\Expr\ConstFetch;
use PhpParser\Node\Scalar\LNumber; use PhpParser\Node\Scalar\LNumber;
use PhpParser\Node\Stmt\If_; use PhpParser\Node\Stmt\If_;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\Util\PhpVersionFactory; use Rector\Core\Util\PhpVersionFactory;
use Rector\Core\ValueObject\PhpVersion; use Rector\Core\ValueObject\PhpVersion;
@ -28,7 +29,8 @@ final class RemovePhpVersionIdCheckRector extends AbstractRector implements Conf
private string | int | null $phpVersionConstraint = null; private string | int | null $phpVersionConstraint = null;
public function __construct( public function __construct(
private readonly PhpVersionFactory $phpVersionFactory private readonly PhpVersionFactory $phpVersionFactory,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -8,6 +8,7 @@ use PhpParser\Node;
use PhpParser\Node\Expr\BinaryOp\BooleanOr; use PhpParser\Node\Expr\BinaryOp\BooleanOr;
use PhpParser\Node\Name; use PhpParser\Node\Name;
use PHPStan\Reflection\ReflectionProvider; use PHPStan\Reflection\ReflectionProvider;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php71\IsArrayAndDualCheckToAble; use Rector\Php71\IsArrayAndDualCheckToAble;
@ -22,7 +23,8 @@ final class IsIterableRector extends AbstractRector implements MinPhpVersionInte
{ {
public function __construct( public function __construct(
private readonly IsArrayAndDualCheckToAble $isArrayAndDualCheckToAble, private readonly IsArrayAndDualCheckToAble $isArrayAndDualCheckToAble,
private readonly ReflectionProvider $reflectionProvider private readonly ReflectionProvider $reflectionProvider,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -24,6 +24,7 @@ use PHPStan\Type\NullType;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use PHPStan\Type\UnionType; use PHPStan\Type\UnionType;
use Rector\Core\NodeAnalyzer\VariableAnalyzer; use Rector\Core\NodeAnalyzer\VariableAnalyzer;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\NodeTypeResolver\Node\AttributeKey;
@ -43,7 +44,8 @@ final class CountOnNullRector extends AbstractRector implements MinPhpVersionInt
public function __construct( public function __construct(
private readonly CountableTypeAnalyzer $countableTypeAnalyzer, private readonly CountableTypeAnalyzer $countableTypeAnalyzer,
private readonly CountableAnalyzer $countableAnalyzer, private readonly CountableAnalyzer $countableAnalyzer,
private readonly VariableAnalyzer $variableAnalyzer private readonly VariableAnalyzer $variableAnalyzer,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -15,6 +15,7 @@ use PhpParser\Node\Expr\Variable;
use PHPStan\Type\ArrayType; use PHPStan\Type\ArrayType;
use PHPStan\Type\IntegerType; use PHPStan\Type\IntegerType;
use PHPStan\Type\StringType; use PHPStan\Type\StringType;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\TypeAnalyzer\ArrayTypeAnalyzer; use Rector\NodeTypeResolver\TypeAnalyzer\ArrayTypeAnalyzer;
@ -31,7 +32,8 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
final class ArraySpreadInsteadOfArrayMergeRector extends AbstractRector implements MinPhpVersionInterface final class ArraySpreadInsteadOfArrayMergeRector extends AbstractRector implements MinPhpVersionInterface
{ {
public function __construct( public function __construct(
private readonly ArrayTypeAnalyzer $arrayTypeAnalyzer private readonly ArrayTypeAnalyzer $arrayTypeAnalyzer,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -20,6 +20,7 @@ use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo; use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php80\NodeFactory\AttrGroupsFactory; use Rector\Php80\NodeFactory\AttrGroupsFactory;
@ -55,7 +56,8 @@ final class AnnotationToAttributeRector extends AbstractRector implements Config
private readonly PhpDocNodeFinder $phpDocNodeFinder, private readonly PhpDocNodeFinder $phpDocNodeFinder,
private readonly UnwrapableAnnotationAnalyzer $unwrapableAnnotationAnalyzer, private readonly UnwrapableAnnotationAnalyzer $unwrapableAnnotationAnalyzer,
private readonly RemovableAnnotationAnalyzer $removableAnnotationAnalyzer, private readonly RemovableAnnotationAnalyzer $removableAnnotationAnalyzer,
private readonly AttributeGroupNamedArgumentManipulator $attributeGroupNamedArgumentManipulator private readonly AttributeGroupNamedArgumentManipulator $attributeGroupNamedArgumentManipulator,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -14,6 +14,7 @@ use PhpParser\Node\Stmt\Trait_;
use PHPStan\Type\MixedType; use PHPStan\Type\MixedType;
use PHPStan\Type\StringType; use PHPStan\Type\StringType;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\TypeComparator\TypeComparator; use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
@ -34,7 +35,8 @@ final class AddParamTypeDeclarationRector extends AbstractRector implements Conf
private array $addParamTypeDeclarations = []; private array $addParamTypeDeclarations = [];
public function __construct( public function __construct(
private readonly TypeComparator $typeComparator private readonly TypeComparator $typeComparator,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -10,6 +10,7 @@ use PHPStan\Type\ArrayType;
use PHPStan\Type\MixedType; use PHPStan\Type\MixedType;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\TypeComparator\TypeComparator; use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
@ -30,7 +31,8 @@ final class AddReturnTypeDeclarationRector extends AbstractRector implements Con
private array $methodReturnTypes = []; private array $methodReturnTypes = [];
public function __construct( public function __construct(
private readonly TypeComparator $typeComparator private readonly TypeComparator $typeComparator,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -11,6 +11,7 @@ use PhpParser\Node\Stmt\Function_;
use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode; use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo; use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\TypeComparator\TypeComparator; use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
@ -30,7 +31,8 @@ final class ParamAnnotationIncorrectNullableRector extends AbstractRector
private readonly TypeComparator $typeComparator, private readonly TypeComparator $typeComparator,
private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper, private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper,
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard, private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard,
private readonly ParamPhpDocNodeFactory $paramPhpDocNodeFactory private readonly ParamPhpDocNodeFactory $paramPhpDocNodeFactory,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -10,6 +10,7 @@ use PhpParser\Node\Stmt\Function_;
use PHPStan\PhpDocParser\Ast\PhpDoc\ReturnTagValueNode; use PHPStan\PhpDocParser\Ast\PhpDoc\ReturnTagValueNode;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard; use Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard;
@ -27,7 +28,8 @@ final class ReturnAnnotationIncorrectNullableRector extends AbstractRector
private readonly PhpDocTypeChanger $phpDocTypeChanger, private readonly PhpDocTypeChanger $phpDocTypeChanger,
private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper, private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper,
private readonly ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard, private readonly ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard,
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -16,6 +16,7 @@ use PhpParser\Node\Stmt\Return_;
use PhpParser\Node\Stmt\Throw_; use PhpParser\Node\Stmt\Throw_;
use PHPStan\Type\NeverType; use PHPStan\Type\NeverType;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeNestingScope\ValueObject\ControlStructure; use Rector\NodeNestingScope\ValueObject\ControlStructure;
@ -32,7 +33,8 @@ final class ReturnNeverTypeRector extends AbstractRector
{ {
public function __construct( public function __construct(
private readonly ParentClassMethodTypeOverrideGuard $parentClassMethodTypeOverrideGuard, private readonly ParentClassMethodTypeOverrideGuard $parentClassMethodTypeOverrideGuard,
private readonly PhpDocTypeChanger $phpDocTypeChanger private readonly PhpDocTypeChanger $phpDocTypeChanger,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -20,6 +20,7 @@ use PHPStan\Type\NullType;
use PHPStan\Type\ObjectType; use PHPStan\Type\ObjectType;
use PHPStan\Type\UnionType; use PHPStan\Type\UnionType;
use PHPStan\Type\VoidType; use PHPStan\Type\VoidType;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind; use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
@ -37,7 +38,8 @@ final class ReturnTypeFromStrictTypedCallRector extends AbstractRector
public function __construct( public function __construct(
private readonly TypeNodeUnwrapper $typeNodeUnwrapper, private readonly TypeNodeUnwrapper $typeNodeUnwrapper,
private readonly ReturnStrictTypeAnalyzer $returnStrictTypeAnalyzer, private readonly ReturnStrictTypeAnalyzer $returnStrictTypeAnalyzer,
private readonly ReturnTypeInferer $returnTypeInferer private readonly ReturnTypeInferer $returnTypeInferer,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -16,6 +16,7 @@ use PhpParser\Node\UnionType as PhpParserUnionType;
use PHPStan\Type\MixedType; use PHPStan\Type\MixedType;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use PHPStan\Type\UnionType; use PHPStan\Type\UnionType;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\NodeTypeResolver\Node\AttributeKey;
@ -46,7 +47,8 @@ final class ReturnTypeDeclarationRector extends AbstractRector implements MinPhp
private readonly ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard, private readonly ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard,
private readonly VendorLockResolver $vendorLockResolver, private readonly VendorLockResolver $vendorLockResolver,
private readonly PhpParserTypeAnalyzer $phpParserTypeAnalyzer, private readonly PhpParserTypeAnalyzer $phpParserTypeAnalyzer,
private readonly ObjectTypeComparator $objectTypeComparator private readonly ObjectTypeComparator $objectTypeComparator,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -12,6 +12,7 @@ use PHPStan\Type\NullType;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo; use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind; use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
@ -29,6 +30,7 @@ final class PropertyTypeDeclarationRector extends AbstractRector
private readonly VarDocPropertyTypeInferer $varDocPropertyTypeInferer, private readonly VarDocPropertyTypeInferer $varDocPropertyTypeInferer,
private readonly PhpDocTypeChanger $phpDocTypeChanger, private readonly PhpDocTypeChanger $phpDocTypeChanger,
private readonly PropertyTypeOverrideGuard $propertyTypeOverrideGuard, private readonly PropertyTypeOverrideGuard $propertyTypeOverrideGuard,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -13,6 +13,7 @@ use PHPStan\Type\TypeCombinator;
use PHPStan\Type\UnionType; use PHPStan\Type\UnionType;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\Contract\Rector\AllowEmptyConfigurableRectorInterface; use Rector\Core\Contract\Rector\AllowEmptyConfigurableRectorInterface;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover; use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover;
@ -48,7 +49,8 @@ final class TypedPropertyFromAssignsRector extends AbstractRector implements All
private readonly PropertyTypeDecorator $propertyTypeDecorator, private readonly PropertyTypeDecorator $propertyTypeDecorator,
private readonly PhpDocTypeChanger $phpDocTypeChanger, private readonly PhpDocTypeChanger $phpDocTypeChanger,
private readonly VarTagRemover $varTagRemover, private readonly VarTagRemover $varTagRemover,
private readonly MakePropertyTypedGuard $makePropertyTypedGuard private readonly MakePropertyTypedGuard $makePropertyTypedGuard,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -10,6 +10,7 @@ use PhpParser\Node\Stmt\Property;
use PHPStan\Type\MixedType; use PHPStan\Type\MixedType;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover; use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover;
@ -28,7 +29,8 @@ final class TypedPropertyFromStrictConstructorRector extends AbstractRector
private readonly ConstructorPropertyTypeInferer $constructorPropertyTypeInferer, private readonly ConstructorPropertyTypeInferer $constructorPropertyTypeInferer,
private readonly VarTagRemover $varTagRemover, private readonly VarTagRemover $varTagRemover,
private readonly PhpDocTypeChanger $phpDocTypeChanger, private readonly PhpDocTypeChanger $phpDocTypeChanger,
private readonly ConstructorAssignDetector $constructorAssignDetector private readonly ConstructorAssignDetector $constructorAssignDetector,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -11,6 +11,7 @@ use PHPStan\Type\MixedType;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use PHPStan\Type\TypeCombinator; use PHPStan\Type\TypeCombinator;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover; use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover;
@ -29,7 +30,8 @@ final class TypedPropertyFromStrictGetterMethodReturnTypeRector extends Abstract
private readonly GetterTypeDeclarationPropertyTypeInferer $getterTypeDeclarationPropertyTypeInferer, private readonly GetterTypeDeclarationPropertyTypeInferer $getterTypeDeclarationPropertyTypeInferer,
private readonly PhpDocTypeChanger $phpDocTypeChanger, private readonly PhpDocTypeChanger $phpDocTypeChanger,
private readonly VarTagRemover $varTagRemover, private readonly VarTagRemover $varTagRemover,
private readonly ParentPropertyLookupGuard $parentPropertyLookupGuard private readonly ParentPropertyLookupGuard $parentPropertyLookupGuard,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -11,6 +11,7 @@ use PHPStan\Type\MixedType;
use PHPStan\Type\Type; use PHPStan\Type\Type;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo; use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature; use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard; use Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard;
@ -26,7 +27,8 @@ final class VarAnnotationIncorrectNullableRector extends AbstractRector
public function __construct( public function __construct(
private readonly PhpDocTypeChanger $phpDocTypeChanger, private readonly PhpDocTypeChanger $phpDocTypeChanger,
private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper, private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper,
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard,
private readonly PhpVersionProvider $phpVersionProvider,
) { ) {
} }

View File

@ -22,7 +22,6 @@ use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\Exclusion\ExclusionManager; use Rector\Core\Exclusion\ExclusionManager;
use Rector\Core\Logging\CurrentRectorProvider; use Rector\Core\Logging\CurrentRectorProvider;
use Rector\Core\NodeDecorator\CreatedByRuleDecorator; use Rector\Core\NodeDecorator\CreatedByRuleDecorator;
use Rector\Core\Php\PhpVersionProvider;
use Rector\Core\PhpParser\Comparing\NodeComparator; use Rector\Core\PhpParser\Comparing\NodeComparator;
use Rector\Core\PhpParser\Node\BetterNodeFinder; use Rector\Core\PhpParser\Node\BetterNodeFinder;
use Rector\Core\PhpParser\Node\NodeFactory; use Rector\Core\PhpParser\Node\NodeFactory;
@ -73,8 +72,6 @@ CODE_SAMPLE;
protected NodeTypeResolver $nodeTypeResolver; protected NodeTypeResolver $nodeTypeResolver;
protected PhpVersionProvider $phpVersionProvider;
protected StaticTypeMapper $staticTypeMapper; protected StaticTypeMapper $staticTypeMapper;
protected PhpDocInfoFactory $phpDocInfoFactory; protected PhpDocInfoFactory $phpDocInfoFactory;
@ -126,7 +123,6 @@ CODE_SAMPLE;
SimpleCallableNodeTraverser $simpleCallableNodeTraverser, SimpleCallableNodeTraverser $simpleCallableNodeTraverser,
NodeFactory $nodeFactory, NodeFactory $nodeFactory,
PhpDocInfoFactory $phpDocInfoFactory, PhpDocInfoFactory $phpDocInfoFactory,
PhpVersionProvider $phpVersionProvider,
ExclusionManager $exclusionManager, ExclusionManager $exclusionManager,
StaticTypeMapper $staticTypeMapper, StaticTypeMapper $staticTypeMapper,
CurrentRectorProvider $currentRectorProvider, CurrentRectorProvider $currentRectorProvider,
@ -147,7 +143,6 @@ CODE_SAMPLE;
$this->simpleCallableNodeTraverser = $simpleCallableNodeTraverser; $this->simpleCallableNodeTraverser = $simpleCallableNodeTraverser;
$this->nodeFactory = $nodeFactory; $this->nodeFactory = $nodeFactory;
$this->phpDocInfoFactory = $phpDocInfoFactory; $this->phpDocInfoFactory = $phpDocInfoFactory;
$this->phpVersionProvider = $phpVersionProvider;
$this->exclusionManager = $exclusionManager; $this->exclusionManager = $exclusionManager;
$this->staticTypeMapper = $staticTypeMapper; $this->staticTypeMapper = $staticTypeMapper;
$this->currentRectorProvider = $currentRectorProvider; $this->currentRectorProvider = $currentRectorProvider;