diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector/Fixture/do_not_remove_first_class_callable_param.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector/Fixture/do_not_remove_first_class_callable_param.php.inc deleted file mode 100644 index 86f66f0cd3b..00000000000 --- a/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector/Fixture/do_not_remove_first_class_callable_param.php.inc +++ /dev/null @@ -1,35 +0,0 @@ -test(...); - } - - private function test($foo, $bar) - { - } -} - -?> ------ -test(...); - } - - private function test() - { - } -} - -?> diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector/Fixture/skip_with_first_class_callable.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector/Fixture/skip_with_first_class_callable.php.inc new file mode 100644 index 00000000000..4e249b486e1 --- /dev/null +++ b/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector/Fixture/skip_with_first_class_callable.php.inc @@ -0,0 +1,16 @@ +validate(...); + } + + private function validate(string $attribute, mixed $value): bool + { + return $value === true; + } +} diff --git a/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector.php b/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector.php index 405e1db43ad..8b3d2677ab5 100644 --- a/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector.php +++ b/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector.php @@ -199,10 +199,6 @@ private function resolveCallers(ClassMethod $classMethod, string $methodName, Ob return false; } - if ($subNode->isFirstClassCallable()) { - return false; - } - $nodeToCheck = $subNode instanceof MethodCall ? $subNode->var : $subNode->class;