Skip to content

Commit f8c1d78

Browse files
committed
[dx] split of TypeDeclarationDocblockLevel
1 parent 20db305 commit f8c1d78

File tree

3 files changed

+59
-43
lines changed

3 files changed

+59
-43
lines changed

config/set/type-declaration-docblocks.php

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,10 @@
33
declare(strict_types=1);
44

55
use Rector\Config\RectorConfig;
6-
use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnArrayDocblockBasedOnArrayMapRector;
7-
use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnDocblockForScalarArrayFromAssignsRector;
8-
use Rector\TypeDeclarationDocblocks\Rector\Class_\AddReturnDocblockDataProviderRector;
9-
use Rector\TypeDeclarationDocblocks\Rector\Class_\ClassMethodArrayDocblockParamFromLocalCallsRector;
10-
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarArrayFromGetterReturnRector;
11-
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarArrayFromPropertyDefaultsRector;
12-
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarFromParamDocblockInConstructorRector;
13-
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddParamArrayDocblockFromDataProviderRector;
14-
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddParamArrayDocblockFromDimFetchAccessRector;
15-
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForArrayDimAssignedObjectRector;
16-
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForCommonObjectDenominatorRector;
17-
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForJsonArrayRector;
18-
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\DocblockGetterReturnArrayFromPropertyDocblockVarRector;
19-
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\DocblockReturnArrayFromDirectArrayInstanceRector;
206

217
/**
228
* @experimental * 2025-09, experimental hidden set for type declaration in docblocks
239
*/
2410
return static function (RectorConfig $rectorConfig): void {
25-
$rectorConfig->rules([
26-
// property var
27-
DocblockVarFromParamDocblockInConstructorRector::class,
28-
DocblockVarArrayFromPropertyDefaultsRector::class,
29-
DocblockVarArrayFromGetterReturnRector::class,
30-
31-
// param
32-
AddParamArrayDocblockFromDimFetchAccessRector::class,
33-
ClassMethodArrayDocblockParamFromLocalCallsRector::class,
34-
35-
// return
36-
DocblockGetterReturnArrayFromPropertyDocblockVarRector::class,
37-
AddReturnDocblockForCommonObjectDenominatorRector::class,
38-
AddReturnArrayDocblockBasedOnArrayMapRector::class,
39-
AddReturnDocblockForScalarArrayFromAssignsRector::class,
40-
DocblockReturnArrayFromDirectArrayInstanceRector::class,
41-
AddReturnDocblockForArrayDimAssignedObjectRector::class,
42-
AddReturnDocblockForJsonArrayRector::class,
43-
44-
// tests
45-
AddParamArrayDocblockFromDataProviderRector::class,
46-
AddReturnDocblockDataProviderRector::class,
47-
]);
11+
$rectorConfig->rules(\Rector\Config\Level\TypeDeclarationDocblockLevel::RULES);
4812
};

src/ChangesReporting/ValueObjectFactory/FileDiffFactory.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ public function createFileDiffWithLineChanges(
3636
$consoleDiff = $shouldShowDiffs ? $this->colorConsoleDiffFormatter->format($diff) : '';
3737

3838
// always keep the most recent diff
39-
return new FileDiff(
40-
$relativeFilePath,
41-
$diff,
42-
$consoleDiff,
43-
$rectorsWithLineChanges
44-
);
39+
return new FileDiff($relativeFilePath, $diff, $consoleDiff, $rectorsWithLineChanges);
4540
}
4641
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Rector\Config\Level;
6+
7+
use Rector\Contract\Rector\RectorInterface;
8+
use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnArrayDocblockBasedOnArrayMapRector;
9+
use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnDocblockForScalarArrayFromAssignsRector;
10+
use Rector\TypeDeclarationDocblocks\Rector\Class_\AddReturnDocblockDataProviderRector;
11+
use Rector\TypeDeclarationDocblocks\Rector\Class_\ClassMethodArrayDocblockParamFromLocalCallsRector;
12+
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarArrayFromGetterReturnRector;
13+
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarArrayFromPropertyDefaultsRector;
14+
use Rector\TypeDeclarationDocblocks\Rector\Class_\DocblockVarFromParamDocblockInConstructorRector;
15+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddParamArrayDocblockFromDataProviderRector;
16+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddParamArrayDocblockFromDimFetchAccessRector;
17+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForArrayDimAssignedObjectRector;
18+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForCommonObjectDenominatorRector;
19+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\AddReturnDocblockForJsonArrayRector;
20+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\DocblockGetterReturnArrayFromPropertyDocblockVarRector;
21+
use Rector\TypeDeclarationDocblocks\Rector\ClassMethod\DocblockReturnArrayFromDirectArrayInstanceRector;
22+
23+
final class TypeDeclarationDocblockLevel
24+
{
25+
/**
26+
* @var array<class-string<RectorInterface>>
27+
*/
28+
public const RULES = [
29+
// start with rules based on native code
30+
// property var
31+
DocblockVarArrayFromPropertyDefaultsRector::class,
32+
33+
// tests
34+
AddParamArrayDocblockFromDataProviderRector::class,
35+
AddReturnDocblockDataProviderRector::class,
36+
37+
// param
38+
AddParamArrayDocblockFromDimFetchAccessRector::class,
39+
ClassMethodArrayDocblockParamFromLocalCallsRector::class,
40+
41+
// return
42+
AddReturnDocblockForCommonObjectDenominatorRector::class,
43+
AddReturnArrayDocblockBasedOnArrayMapRector::class,
44+
AddReturnDocblockForScalarArrayFromAssignsRector::class,
45+
DocblockReturnArrayFromDirectArrayInstanceRector::class,
46+
AddReturnDocblockForArrayDimAssignedObjectRector::class,
47+
AddReturnDocblockForJsonArrayRector::class,
48+
49+
// move to rules based on existing docblocks, as more risky
50+
// property var
51+
DocblockVarFromParamDocblockInConstructorRector::class,
52+
DocblockVarArrayFromGetterReturnRector::class,
53+
54+
// return
55+
DocblockGetterReturnArrayFromPropertyDocblockVarRector::class,
56+
];
57+
}

0 commit comments

Comments
 (0)