File tree Expand file tree Collapse file tree
rules/TypeDeclaration/Rector/ClassMethod Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1313use Rector \PHPStanStaticTypeMapper \Enum \TypeKind ;
1414use Rector \Rector \AbstractRector ;
1515use Rector \StaticTypeMapper \StaticTypeMapper ;
16+ use Rector \TypeDeclaration \Guard \ParamTypeAddGuard ;
1617use Rector \TypeDeclarationDocblocks \NodeFinder \ArrayDimFetchFinder ;
1718use Rector \VendorLocker \ParentClassMethodTypeOverrideGuard ;
1819use Symplify \RuleDocGenerator \ValueObject \CodeSample \CodeSample ;
@@ -26,7 +27,8 @@ final class AddParamFromDimFetchKeyUseRector extends AbstractRector
2627 public function __construct (
2728 private readonly ArrayDimFetchFinder $ arrayDimFetchFinder ,
2829 private readonly StaticTypeMapper $ staticTypeMapper ,
29- private readonly ParentClassMethodTypeOverrideGuard $ parentClassMethodTypeOverrideGuard
30+ private readonly ParentClassMethodTypeOverrideGuard $ parentClassMethodTypeOverrideGuard ,
31+ private readonly ParamTypeAddGuard $ paramTypeAddGuard
3032 ) {
3133 }
3234
@@ -107,6 +109,10 @@ public function refactor(Node $node): ?Node
107109 continue ;
108110 }
109111
112+ if (! $ this ->paramTypeAddGuard ->isLegal ($ param , $ classMethod )) {
113+ continue ;
114+ }
115+
110116 foreach ($ dimFetches as $ dimFetch ) {
111117 $ dimFetchType = $ this ->getType ($ dimFetch ->var );
112118
You can’t perform that action at this time.
0 commit comments