From 16450a71686dfd1e328972774b0f729ad966c828 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sun, 28 Sep 2025 23:26:19 +0200 Subject: [PATCH] cover iterable in AddParamArrayDocblockFromDataProviderRector --- .../Fixture/cover_iterable.php.inc | 50 +++++++++++++++++++ ...ockBasedOnCallableNativeFuncCallRector.php | 10 +++- ...ramArrayDocblockFromDataProviderRector.php | 2 +- 3 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector/Fixture/cover_iterable.php.inc diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector/Fixture/cover_iterable.php.inc b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector/Fixture/cover_iterable.php.inc new file mode 100644 index 00000000000..99ff2522670 --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector/Fixture/cover_iterable.php.inc @@ -0,0 +1,50 @@ + +----- + diff --git a/rules/TypeDeclaration/Rector/ClassMethod/AddParamArrayDocblockBasedOnCallableNativeFuncCallRector.php b/rules/TypeDeclaration/Rector/ClassMethod/AddParamArrayDocblockBasedOnCallableNativeFuncCallRector.php index b63911a6e1c..1c3dafbb847 100644 --- a/rules/TypeDeclaration/Rector/ClassMethod/AddParamArrayDocblockBasedOnCallableNativeFuncCallRector.php +++ b/rules/TypeDeclaration/Rector/ClassMethod/AddParamArrayDocblockBasedOnCallableNativeFuncCallRector.php @@ -124,7 +124,10 @@ function (Node $subNode) use ($variableNamesWithArrayType, $node, &$paramsWithTy $funcCallName = (string) $this->getName($subNode); - $arrayArg = $subNode->getArg('array', NativeFuncCallPositions::ARRAY_AND_CALLBACK_POSITIONS[$funcCallName]['array']); + $arrayArg = $subNode->getArg( + 'array', + NativeFuncCallPositions::ARRAY_AND_CALLBACK_POSITIONS[$funcCallName]['array'] + ); if (! $arrayArg instanceof Arg) { return null; } @@ -146,7 +149,10 @@ function (Node $subNode) use ($variableNamesWithArrayType, $node, &$paramsWithTy return null; } - $callbackArg = $subNode->getArg('callback', NativeFuncCallPositions::ARRAY_AND_CALLBACK_POSITIONS[$funcCallName]['callback']); + $callbackArg = $subNode->getArg( + 'callback', + NativeFuncCallPositions::ARRAY_AND_CALLBACK_POSITIONS[$funcCallName]['callback'] + ); if (! $callbackArg instanceof Arg) { return null; } diff --git a/rules/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector.php b/rules/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector.php index 47460d6ec07..17dc975174c 100644 --- a/rules/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector.php +++ b/rules/TypeDeclarationDocblocks/Rector/ClassMethod/AddParamArrayDocblockFromDataProviderRector.php @@ -127,7 +127,7 @@ public function refactor(Node $node): ?Node continue; } - if (! $this->isName($param->type, 'array')) { + if (! $this->isNames($param->type, ['array', 'iterable'])) { continue; }