diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Fixture/skip_with_first_class_callable.php.inc b/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Fixture/skip_with_first_class_callable.php.inc new file mode 100644 index 00000000000..7262b98e869 --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Fixture/skip_with_first_class_callable.php.inc @@ -0,0 +1,17 @@ +run(['item1', 'item2']); + + $this->run(...)([1, 2]); + } + + private function run(array $items) + { + } +} diff --git a/rules/TypeDeclaration/NodeAnalyzer/CallTypesResolver.php b/rules/TypeDeclaration/NodeAnalyzer/CallTypesResolver.php index d8a120838c0..6747d289c61 100644 --- a/rules/TypeDeclaration/NodeAnalyzer/CallTypesResolver.php +++ b/rules/TypeDeclaration/NodeAnalyzer/CallTypesResolver.php @@ -67,7 +67,7 @@ public function resolveTypesFromCalls(array $calls): array foreach ($calls as $call) { foreach ($call->args as $position => $arg) { if ($this->shouldSkipArg($arg)) { - continue; + return []; } /** @var Arg $arg */