Skip to content

Commit 2628188

Browse files
authored
[typed-collections] remove DefaultNewArrayCollectionRector as duplicate of InitializeCollectionInConstructorRector (#394)
* cleanup * [rector] apply on rules-tests as wellfs * make sure values are null in InitializeCollectionInConstructorRector, so we avoid assign and property type conflicts * remove DefaultNewArrayCollectionRector as duplicate of InitializeCollectionInConstructorRector * split /ImproveDoctrineCollectionDocTypeInEntityRector into CompletePropertyDocblockFromToManyRector + CompleteParamDocblockFromToManyRector * splitting * fixing * remove collection rules from code quality set, to keep them idempotent
1 parent 6be09e4 commit 2628188

File tree

79 files changed

+806
-719
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+806
-719
lines changed

config/sets/doctrine-code-quality.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
use Rector\Doctrine\CodeQuality\Rector\Property\CorrectDefaultTypesOnEntityPropertyRector;
1010
use Rector\Doctrine\CodeQuality\Rector\Property\TypedPropertyFromColumnTypeRector;
1111
use Rector\Doctrine\CodeQuality\Rector\Property\TypedPropertyFromToOneRelationTypeRector;
12-
use Rector\Doctrine\TypedCollections\Rector\Class_\InitializeCollectionInConstructorRector;
13-
use Rector\Doctrine\TypedCollections\Rector\Property\ImproveDoctrineCollectionDocTypeInEntityRector;
14-
use Rector\Doctrine\TypedCollections\Rector\Property\TypedPropertyFromToManyRelationTypeRector;
1512
use Rector\Transform\Rector\Attribute\AttributeKeyToClassConstFetchRector;
1613
use Rector\Transform\ValueObject\AttributeKeyToClassConstFetch;
1714

@@ -20,15 +17,11 @@
2017
MoveCurrentDateTimeDefaultInEntityToConstructorRector::class,
2118
CorrectDefaultTypesOnEntityPropertyRector::class,
2219

23-
InitializeCollectionInConstructorRector::class,
24-
ImproveDoctrineCollectionDocTypeInEntityRector::class,
25-
2620
RemoveEmptyTableAttributeRector::class,
2721

2822
// typed properties in entities from annotations/attributes
2923
TypedPropertyFromColumnTypeRector::class,
3024
TypedPropertyFromToOneRelationTypeRector::class,
31-
TypedPropertyFromToManyRelationTypeRector::class,
3225

3326
// annotations generics
3427
AddAnnotationToRepositoryRector::class,

config/sets/typed-collections.php

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
use Rector\Config\RectorConfig;
66
use Rector\Doctrine\TypedCollections\Rector\Assign\ArrayDimFetchAssignToAddCollectionCallRector;
77
use Rector\Doctrine\TypedCollections\Rector\Class_\AddReturnDocBlockToCollectionPropertyGetterByToManyAnnotationRector;
8-
use Rector\Doctrine\TypedCollections\Rector\Class_\DefaultNewArrayCollectionRector;
8+
use Rector\Doctrine\TypedCollections\Rector\Class_\CompleteParamDocblockFromToManyRector;
9+
use Rector\Doctrine\TypedCollections\Rector\Class_\CompletePropertyDocblockFromToManyRector;
910
use Rector\Doctrine\TypedCollections\Rector\Class_\InitializeCollectionInConstructorRector;
1011
use Rector\Doctrine\TypedCollections\Rector\ClassMethod\CollectionGetterNativeTypeRector;
1112
use Rector\Doctrine\TypedCollections\Rector\ClassMethod\CollectionParamTypeSetterToCollectionPropertyRector;
@@ -24,36 +25,45 @@
2425
use Rector\Doctrine\TypedCollections\Rector\If_\RemoveIfInstanceofCollectionRector;
2526
use Rector\Doctrine\TypedCollections\Rector\MethodCall\SetArrayToNewCollectionRector;
2627
use Rector\Doctrine\TypedCollections\Rector\New_\RemoveNewArrayCollectionWrapRector;
27-
use Rector\Doctrine\TypedCollections\Rector\Property\ImproveDoctrineCollectionDocTypeInEntityRector;
2828
use Rector\Doctrine\TypedCollections\Rector\Property\NarrowPropertyUnionToCollectionRector;
2929
use Rector\Doctrine\TypedCollections\Rector\Property\TypedPropertyFromToManyRelationTypeRector;
3030

3131
return static function (RectorConfig $rectorConfig): void {
3232
$rectorConfig->rules([
33-
ArrayDimFetchAssignToAddCollectionCallRector::class,
3433
AddReturnDocBlockToCollectionPropertyGetterByToManyAnnotationRector::class,
35-
DefaultNewArrayCollectionRector::class,
34+
35+
// init
3636
InitializeCollectionInConstructorRector::class,
37+
RemoveNewArrayCollectionOutsideConstructorRector::class,
38+
RemoveCoalesceAssignOnCollectionRector::class,
39+
RemoveIfInstanceofCollectionRector::class,
40+
41+
// collection method calls
42+
ArrayDimFetchAssignToAddCollectionCallRector::class,
43+
ArrayMapOnCollectionToArrayRector::class,
44+
ArrayMergeOnCollectionToArrayRector::class,
45+
EmptyOnCollectionToIsEmptyCallRector::class,
46+
InArrayOnCollectionToContainsCallRector::class,
47+
48+
// native type declarations
3749
CollectionGetterNativeTypeRector::class,
3850
CollectionParamTypeSetterToCollectionPropertyRector::class,
51+
TypedPropertyFromToManyRelationTypeRector::class,
52+
53+
// docblocks
3954
DefaultCollectionKeyRector::class,
4055
NarrowArrayCollectionToCollectionRector::class,
4156
NarrowParamUnionToCollectionRector::class,
4257
NarrowReturnUnionToCollectionRector::class,
43-
RemoveNewArrayCollectionOutsideConstructorRector::class,
44-
ReturnArrayToNewArrayCollectionRector::class,
58+
NarrowPropertyUnionToCollectionRector::class,
59+
60+
CompletePropertyDocblockFromToManyRector::class,
61+
CompleteParamDocblockFromToManyRector::class,
4562
ReturnCollectionDocblockRector::class,
46-
EmptyOnCollectionToIsEmptyCallRector::class,
47-
RemoveCoalesceAssignOnCollectionRector::class,
48-
ArrayMapOnCollectionToArrayRector::class,
49-
ArrayMergeOnCollectionToArrayRector::class,
50-
InArrayOnCollectionToContainsCallRector::class,
51-
RemoveIfInstanceofCollectionRector::class,
63+
64+
// new ArrayCollection() wraps
65+
ReturnArrayToNewArrayCollectionRector::class,
5266
SetArrayToNewCollectionRector::class,
5367
RemoveNewArrayCollectionWrapRector::class,
54-
ImproveDoctrineCollectionDocTypeInEntityRector::class,
55-
NarrowPropertyUnionToCollectionRector::class,
56-
TypedPropertyFromToManyRelationTypeRector::class,
57-
5868
]);
5969
};

rector.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
return RectorConfig::configure()
99
->withImportNames(removeUnusedImports: true)
10-
->withPaths([__DIR__ . '/config', __DIR__ . '/src', __DIR__ . '/rules', __DIR__ . '/tests'])
10+
->withPaths(
11+
[__DIR__ . '/config', __DIR__ . '/src', __DIR__ . '/rules', __DIR__ . '/tests', __DIR__ . '/rules-tests']
12+
)
1113
->withSkip(['*/Source/*', '*/Fixture/*'])
1214
->withRootFiles()
1315
->withPhpSets()

rules-tests/Orm30/Rector/MethodCall/CastDoctrineExprToStringRector/configured_rule.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Doctrine\Orm30\Rector\MethodCall\CastDoctrineExprToStringRector;
67

78
return RectorConfig::configure()
8-
->withRules([\Rector\Doctrine\Orm30\Rector\MethodCall\CastDoctrineExprToStringRector::class]);
9+
->withRules([CastDoctrineExprToStringRector::class]);

rules-tests/Orm30/Rector/MethodCall/SetParametersArrayToCollectionRector/configured_rule.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Doctrine\Orm30\Rector\MethodCall\SetParametersArrayToCollectionRector;
67

78
return RectorConfig::configure()
8-
->withRules([\Rector\Doctrine\Orm30\Rector\MethodCall\SetParametersArrayToCollectionRector::class]);
9+
->withRules([SetParametersArrayToCollectionRector::class]);

rules-tests/TypedCollections/Rector/ClassMethod/CollectionParamTypeSetterToCollectionPropertyRector/config/configured_rule.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Doctrine\TypedCollections\Rector\ClassMethod\CollectionParamTypeSetterToCollectionPropertyRector;
67

78
return static function (RectorConfig $rectorConfig): void {
8-
$rectorConfig->rule(
9-
\Rector\Doctrine\TypedCollections\Rector\ClassMethod\CollectionParamTypeSetterToCollectionPropertyRector::class
10-
);
9+
$rectorConfig->rule(CollectionParamTypeSetterToCollectionPropertyRector::class);
1110
};

rules-tests/TypedCollections/Rector/ClassMethod/DefaultCollectionKeyRector/config/configured_rule.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Doctrine\TypedCollections\Rector\ClassMethod\DefaultCollectionKeyRector;
67

78
return static function (RectorConfig $rectorConfig): void {
8-
$rectorConfig->rule(\Rector\Doctrine\TypedCollections\Rector\ClassMethod\DefaultCollectionKeyRector::class);
9+
$rectorConfig->rule(DefaultCollectionKeyRector::class);
910
};

rules-tests/TypedCollections/Rector/ClassMethod/NarrowArrayCollectionToCollectionRector/config/configured_rule.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Doctrine\TypedCollections\Rector\ClassMethod\NarrowArrayCollectionToCollectionRector;
67

78
return static function (RectorConfig $rectorConfig): void {
8-
$rectorConfig->rule(
9-
\Rector\Doctrine\TypedCollections\Rector\ClassMethod\NarrowArrayCollectionToCollectionRector::class
10-
);
9+
$rectorConfig->rule(NarrowArrayCollectionToCollectionRector::class);
1110
};

rules-tests/TypedCollections/Rector/ClassMethod/NarrowParamUnionToCollectionRector/config/configured_rule.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Doctrine\TypedCollections\Rector\ClassMethod\NarrowParamUnionToCollectionRector;
67

78
return static function (RectorConfig $rectorConfig): void {
8-
$rectorConfig->rule(\Rector\Doctrine\TypedCollections\Rector\ClassMethod\NarrowParamUnionToCollectionRector::class);
9+
$rectorConfig->rule(NarrowParamUnionToCollectionRector::class);
910
};

rules-tests/TypedCollections/Rector/ClassMethod/NarrowReturnUnionToCollectionRector/config/configured_rule.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6+
use Rector\Doctrine\TypedCollections\Rector\ClassMethod\NarrowReturnUnionToCollectionRector;
67

78
return static function (RectorConfig $rectorConfig): void {
8-
$rectorConfig->rule(
9-
\Rector\Doctrine\TypedCollections\Rector\ClassMethod\NarrowReturnUnionToCollectionRector::class
10-
);
9+
$rectorConfig->rule(NarrowReturnUnionToCollectionRector::class);
1110
};

0 commit comments

Comments
 (0)