Skip to content

Commit

Permalink
bump to PHP 8.2 code (#259)
Browse files Browse the repository at this point in the history
  • Loading branch information
TomasVotruba authored Feb 9, 2024
1 parent 477fd21 commit 9c3e9f9
Show file tree
Hide file tree
Showing 24 changed files with 79 additions and 98 deletions.
35 changes: 8 additions & 27 deletions rector.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,18 @@

use Rector\Config\RectorConfig;
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Rector\PHPUnit\Set\PHPUnitSetList;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->importNames();
$rectorConfig->removeUnusedImports();
$rectorConfig->paths([__DIR__ . '/src', __DIR__ . '/rules', __DIR__ . '/tests']);

$rectorConfig->skip([
// for tests
'*/Source/*',
'*/Fixture/*',
]);

$rectorConfig->sets([
LevelSetList::UP_TO_PHP_81,
PHPUnitSetList::PHPUNIT_100,
SetList::DEAD_CODE,
SetList::CODE_QUALITY,
SetList::CODING_STYLE,
SetList::NAMING,
SetList::TYPE_DECLARATION,
SetList::PRIVATIZATION,
]);

$rectorConfig->ruleWithConfiguration(StringClassNameToClassConstantRector::class, [
return RectorConfig::configure()
->withImportNames(removeUnusedImports: true)
->withPaths([__DIR__ . '/src', __DIR__ . '/rules', __DIR__ . '/tests'])
->withSkip(['*/Source/*', '*/Fixture/*'])
->withRootFiles()
->withPhpSets()
->withPreparedSets(deadCode: true, codeQuality: true, codingStyle: true, naming: true, typeDeclarations: true, privatization: true)
->withConfiguredRule(StringClassNameToClassConstantRector::class, [
'Doctrine\*',
'Gedmo\*',
'Knp\*',
'DateTime',
'DateTimeInterface',
]);
};
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
use Rector\Doctrine\CodeQuality\NodeFactory\ArrayItemNodeFactory;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class InheritanceClassAnnotationTransformer implements ClassAnnotationTransformerInterface
final readonly class InheritanceClassAnnotationTransformer implements ClassAnnotationTransformerInterface
{
public function __construct(
private readonly ArrayItemNodeFactory $arrayItemNodeFactory,
private ArrayItemNodeFactory $arrayItemNodeFactory,
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
use Rector\Doctrine\CodeQuality\NodeFactory\ArrayItemNodeFactory;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class ColumnAnnotationTransformer implements PropertyAnnotationTransformerInterface
final readonly class ColumnAnnotationTransformer implements PropertyAnnotationTransformerInterface
{
public function __construct(
private readonly ArrayItemNodeFactory $arrayItemNodeFactory
private ArrayItemNodeFactory $arrayItemNodeFactory
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
use Rector\Doctrine\CodeQuality\NodeFactory\ArrayItemNodeFactory;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class EmbeddedPropertyAnnotationTransformer implements PropertyAnnotationTransformerInterface
final readonly class EmbeddedPropertyAnnotationTransformer implements PropertyAnnotationTransformerInterface
{
public function __construct(
private readonly ArrayItemNodeFactory $arrayItemNodeFactory
private ArrayItemNodeFactory $arrayItemNodeFactory
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
use Rector\Doctrine\CodeQuality\NodeFactory\ArrayItemNodeFactory;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class GedmoTimestampableAnnotationTransformer implements PropertyAnnotationTransformerInterface
final readonly class GedmoTimestampableAnnotationTransformer implements PropertyAnnotationTransformerInterface
{
public function __construct(
private readonly ArrayItemNodeFactory $arrayItemNodeFactory
private ArrayItemNodeFactory $arrayItemNodeFactory
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
use Rector\Doctrine\CodeQuality\NodeFactory\ArrayItemNodeFactory;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class IdGeneratorAnnotationTransformer implements PropertyAnnotationTransformerInterface
final readonly class IdGeneratorAnnotationTransformer implements PropertyAnnotationTransformerInterface
{
public function __construct(
private readonly ArrayItemNodeFactory $arrayItemNodeFactory
private ArrayItemNodeFactory $arrayItemNodeFactory
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
use Rector\Doctrine\CodeQuality\NodeFactory\ArrayItemNodeFactory;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class ManyToOneAnnotationTransformer implements PropertyAnnotationTransformerInterface
final readonly class ManyToOneAnnotationTransformer implements PropertyAnnotationTransformerInterface
{
public function __construct(
private readonly ArrayItemNodeFactory $arrayItemNodeFactory
private ArrayItemNodeFactory $arrayItemNodeFactory
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
use Rector\Doctrine\CodeQuality\NodeFactory\ArrayItemNodeFactory;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class OneToManyAnnotationTransformer implements PropertyAnnotationTransformerInterface
final readonly class OneToManyAnnotationTransformer implements PropertyAnnotationTransformerInterface
{
public function __construct(
private readonly ArrayItemNodeFactory $arrayItemNodeFactory
private ArrayItemNodeFactory $arrayItemNodeFactory
) {
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@
use Rector\Doctrine\CodeQuality\Contract\PropertyAnnotationTransformerInterface;
use Rector\Doctrine\CodeQuality\ValueObject\EntityMapping;

final class YamlToAnnotationTransformer
final readonly class YamlToAnnotationTransformer
{
/**
* @param ClassAnnotationTransformerInterface[] $classAnnotationTransformers
* @param PropertyAnnotationTransformerInterface[] $propertyAnnotationTransformers
*/
public function __construct(
private readonly iterable $classAnnotationTransformers,
private readonly iterable $propertyAnnotationTransformers,
private readonly PhpDocInfoFactory $phpDocInfoFactory,
private readonly DocBlockUpdater $docBlockUpdater,
private iterable $classAnnotationTransformers,
private iterable $propertyAnnotationTransformers,
private PhpDocInfoFactory $phpDocInfoFactory,
private DocBlockUpdater $docBlockUpdater,
) {
}

Expand Down
4 changes: 2 additions & 2 deletions src/NodeAnalyzer/AttributeFinder.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@
/**
* @api
*/
final class AttributeFinder
final readonly class AttributeFinder
{
public function __construct(
private readonly NodeNameResolver $nodeNameResolver,
private NodeNameResolver $nodeNameResolver,
) {
}

Expand Down
6 changes: 3 additions & 3 deletions src/NodeAnalyzer/AttrinationFinder.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
/**
* @api
*/
final class AttrinationFinder
final readonly class AttrinationFinder
{
public function __construct(
private readonly PhpDocInfoFactory $phpDocInfoFactory,
private readonly AttributeFinder $attributeFinder,
private PhpDocInfoFactory $phpDocInfoFactory,
private AttributeFinder $attributeFinder,
) {
}

Expand Down
8 changes: 4 additions & 4 deletions src/NodeAnalyzer/ConstructorAssignPropertyAnalyzer.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
use Rector\PhpParser\Node\BetterNodeFinder;
use Rector\ValueObject\MethodName;

final class ConstructorAssignPropertyAnalyzer
final readonly class ConstructorAssignPropertyAnalyzer
{
public function __construct(
private readonly BetterNodeFinder $betterNodeFinder,
private readonly NodeNameResolver $nodeNameResolver,
private readonly PropertyFetchAnalyzer $propertyFetchAnalyzer
private BetterNodeFinder $betterNodeFinder,
private NodeNameResolver $nodeNameResolver,
private PropertyFetchAnalyzer $propertyFetchAnalyzer
) {
}

Expand Down
6 changes: 3 additions & 3 deletions src/NodeAnalyzer/DoctrineEntityDetector.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
use PHPStan\Reflection\ReflectionProvider;
use Rector\NodeAnalyzer\DoctrineEntityAnalyzer;

final class DoctrineEntityDetector
final readonly class DoctrineEntityDetector
{
public function __construct(
private readonly DoctrineEntityAnalyzer $doctrineEntityAnalyzer,
private readonly ReflectionProvider $reflectionProvider,
private DoctrineEntityAnalyzer $doctrineEntityAnalyzer,
private ReflectionProvider $reflectionProvider,
) {
}

Expand Down
6 changes: 3 additions & 3 deletions src/NodeAnalyzer/TargetEntityResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
use Rector\Exception\NotImplementedYetException;
use Rector\NodeNameResolver\NodeNameResolver;

final class TargetEntityResolver
final readonly class TargetEntityResolver
{
public function __construct(
private readonly NodeNameResolver $nodeNameResolver,
private readonly ReflectionProvider $reflectionProvider
private NodeNameResolver $nodeNameResolver,
private ReflectionProvider $reflectionProvider
) {
}

Expand Down
4 changes: 2 additions & 2 deletions src/NodeFactory/ArrayCollectionAssignFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
use PhpParser\Node\Stmt\Expression;
use Rector\PhpParser\Node\NodeFactory;

final class ArrayCollectionAssignFactory
final readonly class ArrayCollectionAssignFactory
{
public function __construct(
private readonly NodeFactory $nodeFactory,
private NodeFactory $nodeFactory,
) {
}

Expand Down
10 changes: 5 additions & 5 deletions src/NodeManipulator/ColumnPropertyTypeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
use Rector\Doctrine\NodeAnalyzer\AttributeFinder;
use Rector\NodeTypeResolver\PHPStan\Type\TypeFactory;

final class ColumnPropertyTypeResolver
final readonly class ColumnPropertyTypeResolver
{
/**
* @var string
Expand All @@ -39,10 +39,10 @@ final class ColumnPropertyTypeResolver
* @see https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/basic-mapping.html#doctrine-mapping-types
*/
public function __construct(
private readonly PhpDocInfoFactory $phpDocInfoFactory,
private readonly TypeFactory $typeFactory,
private readonly AttributeFinder $attributeFinder,
private readonly array $doctrineTypeToScalarType = [
private PhpDocInfoFactory $phpDocInfoFactory,
private TypeFactory $typeFactory,
private AttributeFinder $attributeFinder,
private array $doctrineTypeToScalarType = [
'tinyint' => new BooleanType(),
'boolean' => new BooleanType(),
// integers
Expand Down
6 changes: 3 additions & 3 deletions src/NodeManipulator/ConstructorManipulator.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
use Rector\PhpParser\Node\NodeFactory;
use Rector\ValueObject\MethodName;

final class ConstructorManipulator
final readonly class ConstructorManipulator
{
public function __construct(
private readonly NodeFactory $nodeFactory,
private readonly ClassInsertManipulator $classInsertManipulator
private NodeFactory $nodeFactory,
private ClassInsertManipulator $classInsertManipulator
) {
}

Expand Down
8 changes: 4 additions & 4 deletions src/NodeManipulator/NullabilityColumnPropertyTypeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
use Rector\Doctrine\NodeAnalyzer\AttributeFinder;
use Rector\PhpParser\Node\Value\ValueResolver;

final class NullabilityColumnPropertyTypeResolver
final readonly class NullabilityColumnPropertyTypeResolver
{
/**
* @var string
Expand All @@ -25,9 +25,9 @@ final class NullabilityColumnPropertyTypeResolver
* @see https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/basic-mapping.html#doctrine-mapping-types
*/
public function __construct(
private readonly PhpDocInfoFactory $phpDocInfoFactory,
private readonly AttributeFinder $attributeFinder,
private readonly ValueResolver $valueResolver,
private PhpDocInfoFactory $phpDocInfoFactory,
private AttributeFinder $attributeFinder,
private ValueResolver $valueResolver,
) {
}

Expand Down
12 changes: 6 additions & 6 deletions src/NodeManipulator/ToManyRelationPropertyTypeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
use Rector\PhpParser\Node\Value\ValueResolver;
use Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType;

final class ToManyRelationPropertyTypeResolver
final readonly class ToManyRelationPropertyTypeResolver
{
/**
* @var string
Expand All @@ -33,11 +33,11 @@ final class ToManyRelationPropertyTypeResolver
];

public function __construct(
private readonly PhpDocInfoFactory $phpDocInfoFactory,
private readonly ShortClassExpander $shortClassExpander,
private readonly AttributeFinder $attributeFinder,
private readonly ValueResolver $valueResolver,
private readonly CollectionTypeFactory $collectionTypeFactory,
private PhpDocInfoFactory $phpDocInfoFactory,
private ShortClassExpander $shortClassExpander,
private AttributeFinder $attributeFinder,
private ValueResolver $valueResolver,
private CollectionTypeFactory $collectionTypeFactory,
) {
}

Expand Down
12 changes: 6 additions & 6 deletions src/NodeManipulator/ToOneRelationPropertyTypeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@
use Rector\NodeTypeResolver\PHPStan\Type\TypeFactory;
use Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType;

final class ToOneRelationPropertyTypeResolver
final readonly class ToOneRelationPropertyTypeResolver
{
/**
* @var class-string[]
*/
private const TO_ONE_ANNOTATION_CLASSES = ['Doctrine\ORM\Mapping\ManyToOne', 'Doctrine\ORM\Mapping\OneToOne'];

public function __construct(
private readonly TypeFactory $typeFactory,
private readonly PhpDocInfoFactory $phpDocInfoFactory,
private readonly ClassAnnotationMatcher $classAnnotationMatcher,
private readonly AttributeFinder $attributeFinder,
private readonly TargetEntityResolver $targetEntityResolver,
private TypeFactory $typeFactory,
private PhpDocInfoFactory $phpDocInfoFactory,
private ClassAnnotationMatcher $classAnnotationMatcher,
private AttributeFinder $attributeFinder,
private TargetEntityResolver $targetEntityResolver,
) {
}

Expand Down
6 changes: 3 additions & 3 deletions src/PhpDoc/ShortClassExpander.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
use Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType;
use Rector\TypeDeclaration\PHPStan\ObjectTypeSpecifier;

final class ShortClassExpander
final readonly class ShortClassExpander
{
/**
* @var string
Expand All @@ -22,8 +22,8 @@ final class ShortClassExpander
private const CLASS_CONST_REGEX = '#::class#';

public function __construct(
private readonly ReflectionProvider $reflectionProvider,
private readonly ObjectTypeSpecifier $objectTypeSpecifier
private ReflectionProvider $reflectionProvider,
private ObjectTypeSpecifier $objectTypeSpecifier
) {
}

Expand Down
4 changes: 2 additions & 2 deletions src/PhpDocParser/DoctrineDocBlockResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
use PhpParser\Node\Stmt\Class_;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;

final class DoctrineDocBlockResolver
final readonly class DoctrineDocBlockResolver
{
public function __construct(
private readonly PhpDocInfoFactory $phpDocInfoFactory
private PhpDocInfoFactory $phpDocInfoFactory
) {
}

Expand Down
Loading

0 comments on commit 9c3e9f9

Please sign in to comment.