diff --git a/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector/Fixture/skip_variadic.php.inc b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector/Fixture/skip_variadic.php.inc new file mode 100644 index 00000000000..bb0f25c9710 --- /dev/null +++ b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector/Fixture/skip_variadic.php.inc @@ -0,0 +1,21 @@ + [4, 'arg'] // <-- int + string + ]; + } +} diff --git a/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector.php b/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector.php index 6f2cb38802c..85331b767ad 100644 --- a/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector.php +++ b/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector.php @@ -339,6 +339,10 @@ private function refactorClassMethod(ClassMethod $classMethod, Class_ $class, ar continue; } + if ($param->variadic) { + continue; + } + $paramTypes = []; foreach ($dataProviderNodes as $dataProviderNode) { $paramTypes[] = $this->inferParam($class, $parameterPosition, $dataProviderNode);