mirror of https://github.com/rectorphp/rector.git
[DX] Move PhpVersionProvider from AbstractRector to particular services (#2189)
This commit is contained in:
parent
680e8a1e3d
commit
a218dda059
|
@ -11,7 +11,7 @@ Head to [`rectorphp/rector`](http://github.com/rectorphp/rector) for documentati
|
|||
|
||||
## 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
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ use PhpParser\Node\Stmt\Return_;
|
|||
use PHPStan\Analyser\Scope;
|
||||
use PHPStan\Reflection\ClassReflection;
|
||||
use Rector\Core\Enum\ObjectReference;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\MethodName;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
|
@ -29,7 +30,8 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
|||
final class MakeInheritedMethodVisibilitySameAsParentRector extends AbstractRector
|
||||
{
|
||||
public function __construct(
|
||||
private readonly VisibilityManipulator $visibilityManipulator
|
||||
private readonly VisibilityManipulator $visibilityManipulator,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ use PhpParser\Node\Expr\ConstFetch;
|
|||
use PhpParser\Node\Scalar\LNumber;
|
||||
use PhpParser\Node\Stmt\If_;
|
||||
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\Util\PhpVersionFactory;
|
||||
use Rector\Core\ValueObject\PhpVersion;
|
||||
|
@ -28,7 +29,8 @@ final class RemovePhpVersionIdCheckRector extends AbstractRector implements Conf
|
|||
private string | int | null $phpVersionConstraint = null;
|
||||
|
||||
public function __construct(
|
||||
private readonly PhpVersionFactory $phpVersionFactory
|
||||
private readonly PhpVersionFactory $phpVersionFactory,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ use PhpParser\Node;
|
|||
use PhpParser\Node\Expr\BinaryOp\BooleanOr;
|
||||
use PhpParser\Node\Name;
|
||||
use PHPStan\Reflection\ReflectionProvider;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\Php71\IsArrayAndDualCheckToAble;
|
||||
|
@ -22,7 +23,8 @@ final class IsIterableRector extends AbstractRector implements MinPhpVersionInte
|
|||
{
|
||||
public function __construct(
|
||||
private readonly IsArrayAndDualCheckToAble $isArrayAndDualCheckToAble,
|
||||
private readonly ReflectionProvider $reflectionProvider
|
||||
private readonly ReflectionProvider $reflectionProvider,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ use PHPStan\Type\NullType;
|
|||
use PHPStan\Type\Type;
|
||||
use PHPStan\Type\UnionType;
|
||||
use Rector\Core\NodeAnalyzer\VariableAnalyzer;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\NodeTypeResolver\Node\AttributeKey;
|
||||
|
@ -43,7 +44,8 @@ final class CountOnNullRector extends AbstractRector implements MinPhpVersionInt
|
|||
public function __construct(
|
||||
private readonly CountableTypeAnalyzer $countableTypeAnalyzer,
|
||||
private readonly CountableAnalyzer $countableAnalyzer,
|
||||
private readonly VariableAnalyzer $variableAnalyzer
|
||||
private readonly VariableAnalyzer $variableAnalyzer,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ use PhpParser\Node\Expr\Variable;
|
|||
use PHPStan\Type\ArrayType;
|
||||
use PHPStan\Type\IntegerType;
|
||||
use PHPStan\Type\StringType;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\NodeTypeResolver\TypeAnalyzer\ArrayTypeAnalyzer;
|
||||
|
@ -31,7 +32,8 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
|||
final class ArraySpreadInsteadOfArrayMergeRector extends AbstractRector implements MinPhpVersionInterface
|
||||
{
|
||||
public function __construct(
|
||||
private readonly ArrayTypeAnalyzer $arrayTypeAnalyzer
|
||||
private readonly ArrayTypeAnalyzer $arrayTypeAnalyzer,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
|||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover;
|
||||
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\Php80\NodeFactory\AttrGroupsFactory;
|
||||
|
@ -55,7 +56,8 @@ final class AnnotationToAttributeRector extends AbstractRector implements Config
|
|||
private readonly PhpDocNodeFinder $phpDocNodeFinder,
|
||||
private readonly UnwrapableAnnotationAnalyzer $unwrapableAnnotationAnalyzer,
|
||||
private readonly RemovableAnnotationAnalyzer $removableAnnotationAnalyzer,
|
||||
private readonly AttributeGroupNamedArgumentManipulator $attributeGroupNamedArgumentManipulator
|
||||
private readonly AttributeGroupNamedArgumentManipulator $attributeGroupNamedArgumentManipulator,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ use PhpParser\Node\Stmt\Trait_;
|
|||
use PHPStan\Type\MixedType;
|
||||
use PHPStan\Type\StringType;
|
||||
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
|
||||
|
@ -34,7 +35,8 @@ final class AddParamTypeDeclarationRector extends AbstractRector implements Conf
|
|||
private array $addParamTypeDeclarations = [];
|
||||
|
||||
public function __construct(
|
||||
private readonly TypeComparator $typeComparator
|
||||
private readonly TypeComparator $typeComparator,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ use PHPStan\Type\ArrayType;
|
|||
use PHPStan\Type\MixedType;
|
||||
use PHPStan\Type\Type;
|
||||
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
|
||||
|
@ -30,7 +31,8 @@ final class AddReturnTypeDeclarationRector extends AbstractRector implements Con
|
|||
private array $methodReturnTypes = [];
|
||||
|
||||
public function __construct(
|
||||
private readonly TypeComparator $typeComparator
|
||||
private readonly TypeComparator $typeComparator,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ use PhpParser\Node\Stmt\Function_;
|
|||
use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
|
||||
use PHPStan\Type\Type;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
|
||||
|
@ -30,7 +31,8 @@ final class ParamAnnotationIncorrectNullableRector extends AbstractRector
|
|||
private readonly TypeComparator $typeComparator,
|
||||
private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper,
|
||||
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard,
|
||||
private readonly ParamPhpDocNodeFactory $paramPhpDocNodeFactory
|
||||
private readonly ParamPhpDocNodeFactory $paramPhpDocNodeFactory,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ use PhpParser\Node\Stmt\Function_;
|
|||
use PHPStan\PhpDocParser\Ast\PhpDoc\ReturnTagValueNode;
|
||||
use PHPStan\Type\Type;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard;
|
||||
|
@ -27,7 +28,8 @@ final class ReturnAnnotationIncorrectNullableRector extends AbstractRector
|
|||
private readonly PhpDocTypeChanger $phpDocTypeChanger,
|
||||
private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper,
|
||||
private readonly ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard,
|
||||
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard
|
||||
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ use PhpParser\Node\Stmt\Return_;
|
|||
use PhpParser\Node\Stmt\Throw_;
|
||||
use PHPStan\Type\NeverType;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\NodeNestingScope\ValueObject\ControlStructure;
|
||||
|
@ -32,7 +33,8 @@ final class ReturnNeverTypeRector extends AbstractRector
|
|||
{
|
||||
public function __construct(
|
||||
private readonly ParentClassMethodTypeOverrideGuard $parentClassMethodTypeOverrideGuard,
|
||||
private readonly PhpDocTypeChanger $phpDocTypeChanger
|
||||
private readonly PhpDocTypeChanger $phpDocTypeChanger,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ use PHPStan\Type\NullType;
|
|||
use PHPStan\Type\ObjectType;
|
||||
use PHPStan\Type\UnionType;
|
||||
use PHPStan\Type\VoidType;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
|
||||
|
@ -37,7 +38,8 @@ final class ReturnTypeFromStrictTypedCallRector extends AbstractRector
|
|||
public function __construct(
|
||||
private readonly TypeNodeUnwrapper $typeNodeUnwrapper,
|
||||
private readonly ReturnStrictTypeAnalyzer $returnStrictTypeAnalyzer,
|
||||
private readonly ReturnTypeInferer $returnTypeInferer
|
||||
private readonly ReturnTypeInferer $returnTypeInferer,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ use PhpParser\Node\UnionType as PhpParserUnionType;
|
|||
use PHPStan\Type\MixedType;
|
||||
use PHPStan\Type\Type;
|
||||
use PHPStan\Type\UnionType;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\NodeTypeResolver\Node\AttributeKey;
|
||||
|
@ -46,7 +47,8 @@ final class ReturnTypeDeclarationRector extends AbstractRector implements MinPhp
|
|||
private readonly ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard,
|
||||
private readonly VendorLockResolver $vendorLockResolver,
|
||||
private readonly PhpParserTypeAnalyzer $phpParserTypeAnalyzer,
|
||||
private readonly ObjectTypeComparator $objectTypeComparator
|
||||
private readonly ObjectTypeComparator $objectTypeComparator,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ use PHPStan\Type\NullType;
|
|||
use PHPStan\Type\Type;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
|
||||
|
@ -29,6 +30,7 @@ final class PropertyTypeDeclarationRector extends AbstractRector
|
|||
private readonly VarDocPropertyTypeInferer $varDocPropertyTypeInferer,
|
||||
private readonly PhpDocTypeChanger $phpDocTypeChanger,
|
||||
private readonly PropertyTypeOverrideGuard $propertyTypeOverrideGuard,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ use PHPStan\Type\TypeCombinator;
|
|||
use PHPStan\Type\UnionType;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Contract\Rector\AllowEmptyConfigurableRectorInterface;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover;
|
||||
|
@ -48,7 +49,8 @@ final class TypedPropertyFromAssignsRector extends AbstractRector implements All
|
|||
private readonly PropertyTypeDecorator $propertyTypeDecorator,
|
||||
private readonly PhpDocTypeChanger $phpDocTypeChanger,
|
||||
private readonly VarTagRemover $varTagRemover,
|
||||
private readonly MakePropertyTypedGuard $makePropertyTypedGuard
|
||||
private readonly MakePropertyTypedGuard $makePropertyTypedGuard,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ use PhpParser\Node\Stmt\Property;
|
|||
use PHPStan\Type\MixedType;
|
||||
use PHPStan\Type\Type;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover;
|
||||
|
@ -28,7 +29,8 @@ final class TypedPropertyFromStrictConstructorRector extends AbstractRector
|
|||
private readonly ConstructorPropertyTypeInferer $constructorPropertyTypeInferer,
|
||||
private readonly VarTagRemover $varTagRemover,
|
||||
private readonly PhpDocTypeChanger $phpDocTypeChanger,
|
||||
private readonly ConstructorAssignDetector $constructorAssignDetector
|
||||
private readonly ConstructorAssignDetector $constructorAssignDetector,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ use PHPStan\Type\MixedType;
|
|||
use PHPStan\Type\Type;
|
||||
use PHPStan\Type\TypeCombinator;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\DeadCode\PhpDoc\TagRemover\VarTagRemover;
|
||||
|
@ -29,7 +30,8 @@ final class TypedPropertyFromStrictGetterMethodReturnTypeRector extends Abstract
|
|||
private readonly GetterTypeDeclarationPropertyTypeInferer $getterTypeDeclarationPropertyTypeInferer,
|
||||
private readonly PhpDocTypeChanger $phpDocTypeChanger,
|
||||
private readonly VarTagRemover $varTagRemover,
|
||||
private readonly ParentPropertyLookupGuard $parentPropertyLookupGuard
|
||||
private readonly ParentPropertyLookupGuard $parentPropertyLookupGuard,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ use PHPStan\Type\MixedType;
|
|||
use PHPStan\Type\Type;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||
use Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard;
|
||||
|
@ -26,7 +27,8 @@ final class VarAnnotationIncorrectNullableRector extends AbstractRector
|
|||
public function __construct(
|
||||
private readonly PhpDocTypeChanger $phpDocTypeChanger,
|
||||
private readonly PhpDocNullableTypeHelper $phpDocNullableTypeHelper,
|
||||
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard
|
||||
private readonly PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard,
|
||||
private readonly PhpVersionProvider $phpVersionProvider,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ use Rector\Core\Exception\ShouldNotHappenException;
|
|||
use Rector\Core\Exclusion\ExclusionManager;
|
||||
use Rector\Core\Logging\CurrentRectorProvider;
|
||||
use Rector\Core\NodeDecorator\CreatedByRuleDecorator;
|
||||
use Rector\Core\Php\PhpVersionProvider;
|
||||
use Rector\Core\PhpParser\Comparing\NodeComparator;
|
||||
use Rector\Core\PhpParser\Node\BetterNodeFinder;
|
||||
use Rector\Core\PhpParser\Node\NodeFactory;
|
||||
|
@ -73,8 +72,6 @@ CODE_SAMPLE;
|
|||
|
||||
protected NodeTypeResolver $nodeTypeResolver;
|
||||
|
||||
protected PhpVersionProvider $phpVersionProvider;
|
||||
|
||||
protected StaticTypeMapper $staticTypeMapper;
|
||||
|
||||
protected PhpDocInfoFactory $phpDocInfoFactory;
|
||||
|
@ -126,7 +123,6 @@ CODE_SAMPLE;
|
|||
SimpleCallableNodeTraverser $simpleCallableNodeTraverser,
|
||||
NodeFactory $nodeFactory,
|
||||
PhpDocInfoFactory $phpDocInfoFactory,
|
||||
PhpVersionProvider $phpVersionProvider,
|
||||
ExclusionManager $exclusionManager,
|
||||
StaticTypeMapper $staticTypeMapper,
|
||||
CurrentRectorProvider $currentRectorProvider,
|
||||
|
@ -147,7 +143,6 @@ CODE_SAMPLE;
|
|||
$this->simpleCallableNodeTraverser = $simpleCallableNodeTraverser;
|
||||
$this->nodeFactory = $nodeFactory;
|
||||
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
||||
$this->phpVersionProvider = $phpVersionProvider;
|
||||
$this->exclusionManager = $exclusionManager;
|
||||
$this->staticTypeMapper = $staticTypeMapper;
|
||||
$this->currentRectorProvider = $currentRectorProvider;
|
||||
|
|
Loading…
Reference in New Issue