From 7b2626fce28bfa95dd47af57d28056a80357e5bb Mon Sep 17 00:00:00 2001 From: Carlos Granados Date: Thu, 20 Mar 2025 21:34:02 +0100 Subject: [PATCH] Fix ArgumentDefaultValueReplacer --- .../Fixture/skip_version_compare.php.inc | 15 +++++++++++++++ .../Fixture/version_compare.php.inc | 4 ---- rules/Arguments/ArgumentDefaultValueReplacer.php | 4 +++- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/skip_version_compare.php.inc diff --git a/rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/skip_version_compare.php.inc b/rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/skip_version_compare.php.inc new file mode 100644 index 00000000000..b47fb2f0cef --- /dev/null +++ b/rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/skip_version_compare.php.inc @@ -0,0 +1,15 @@ + diff --git a/rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/version_compare.php.inc b/rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/version_compare.php.inc index faffaf9efd9..4dbbec111b9 100644 --- a/rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/version_compare.php.inc +++ b/rules-tests/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector/Fixture/version_compare.php.inc @@ -6,10 +6,8 @@ class VersionCompare { public function run() { - version_compare(1, 2); version_compare(1, 2, ''); version_compare(PHP_VERSION, '5.6', 'lte'); - version_compare(PHP_VERSION, '5.6', 'le'); } } @@ -23,10 +21,8 @@ class VersionCompare { public function run() { - version_compare(1, 2); version_compare(1, 2, '!='); version_compare(PHP_VERSION, '5.6', 'le'); - version_compare(PHP_VERSION, '5.6', 'le'); } } diff --git a/rules/Arguments/ArgumentDefaultValueReplacer.php b/rules/Arguments/ArgumentDefaultValueReplacer.php index 641da7e8004..4b986af5276 100644 --- a/rules/Arguments/ArgumentDefaultValueReplacer.php +++ b/rules/Arguments/ArgumentDefaultValueReplacer.php @@ -113,15 +113,17 @@ private function processArgs( $replaceArgumentDefaultValue->getValueBefore() ) && $argValue === $replaceArgumentDefaultValue->getValueBefore()) { $expr->args[$position] = $this->normalizeValueToArgument($replaceArgumentDefaultValue->getValueAfter()); + return $expr; } elseif (is_array($replaceArgumentDefaultValue->getValueBefore())) { $newArgs = $this->processArrayReplacement($expr->getArgs(), $replaceArgumentDefaultValue); if (is_array($newArgs)) { $expr->args = $newArgs; + return $expr; } } - return $expr; + return null; } private function normalizeValueToArgument(mixed $value): Arg