From e074aa923e98b37f80bb8893b83c2789d918f263 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 23 May 2025 15:04:44 +0700 Subject: [PATCH 1/3] [DowngradePhp80/Php73] Handle comma removed on combination DowngradeNamedArgumentRector + DowngradeTrailingCommasInFunctionCallsRector --- .../DowngradeNamedTrailingTest.php | 28 ++++++++++ .../Fixture/fixture.php.inc | 53 +++++++++++++++++++ .../config/configured_rule.php | 11 ++++ 3 files changed, 92 insertions(+) create mode 100644 tests/Issues/DowngradeNamedTrailing/DowngradeNamedTrailingTest.php create mode 100644 tests/Issues/DowngradeNamedTrailing/Fixture/fixture.php.inc create mode 100644 tests/Issues/DowngradeNamedTrailing/config/configured_rule.php diff --git a/tests/Issues/DowngradeNamedTrailing/DowngradeNamedTrailingTest.php b/tests/Issues/DowngradeNamedTrailing/DowngradeNamedTrailingTest.php new file mode 100644 index 00000000..c142a5c8 --- /dev/null +++ b/tests/Issues/DowngradeNamedTrailing/DowngradeNamedTrailingTest.php @@ -0,0 +1,28 @@ +doTestFile($filePath); + } + + public static function provideData(): Iterator + { + return self::yieldFilesFromDirectory(__DIR__ . '/Fixture'); + } + + public function provideConfigFilePath(): string + { + return __DIR__ . '/config/configured_rule.php'; + } +} diff --git a/tests/Issues/DowngradeNamedTrailing/Fixture/fixture.php.inc b/tests/Issues/DowngradeNamedTrailing/Fixture/fixture.php.inc new file mode 100644 index 00000000..7783f706 --- /dev/null +++ b/tests/Issues/DowngradeNamedTrailing/Fixture/fixture.php.inc @@ -0,0 +1,53 @@ +setData($data); + } +} + +$contents = new Fixture( + $content->getType(), + id: $content->getId(), + data: ['error' => $e->getMessage()] +); + +?> +----- +setData($data); + } +} + +$contents = new Fixture( + $content->getType(), + ['error' => $e->getMessage()], + $content->getId() +); + +?> diff --git a/tests/Issues/DowngradeNamedTrailing/config/configured_rule.php b/tests/Issues/DowngradeNamedTrailing/config/configured_rule.php new file mode 100644 index 00000000..92e4168c --- /dev/null +++ b/tests/Issues/DowngradeNamedTrailing/config/configured_rule.php @@ -0,0 +1,11 @@ +withRules([ + DowngradeNamedArgumentRector::class, + DowngradeTrailingCommasInFunctionCallsRector::class, + ]); From 76925a548a5469471d1ede5b749b54f31e7a4c34 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 23 May 2025 08:05:38 +0000 Subject: [PATCH 2/3] [ci-review] Rector Rectify --- .../DowngradeNamedTrailing/config/configured_rule.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/Issues/DowngradeNamedTrailing/config/configured_rule.php b/tests/Issues/DowngradeNamedTrailing/config/configured_rule.php index 92e4168c..6a478268 100644 --- a/tests/Issues/DowngradeNamedTrailing/config/configured_rule.php +++ b/tests/Issues/DowngradeNamedTrailing/config/configured_rule.php @@ -1,11 +1,10 @@ withRules([ - DowngradeNamedArgumentRector::class, - DowngradeTrailingCommasInFunctionCallsRector::class, - ]); + ->withRules([DowngradeNamedArgumentRector::class, DowngradeTrailingCommasInFunctionCallsRector::class]); From 9180e1f6c83ac50fedd6d908c12995a519ce1dbf Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 23 May 2025 15:32:27 +0700 Subject: [PATCH 3/3] Fix --- rules/DowngradePhp80/NodeAnalyzer/NamedToUnnamedArgs.php | 2 +- rules/DowngradePhp80/NodeAnalyzer/UnnamedArgumentResolver.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rules/DowngradePhp80/NodeAnalyzer/NamedToUnnamedArgs.php b/rules/DowngradePhp80/NodeAnalyzer/NamedToUnnamedArgs.php index 0f096865..54e2beec 100644 --- a/rules/DowngradePhp80/NodeAnalyzer/NamedToUnnamedArgs.php +++ b/rules/DowngradePhp80/NodeAnalyzer/NamedToUnnamedArgs.php @@ -56,7 +56,7 @@ public function fillFromNamedArgs( $currentArg->value, $currentArg->byRef, $currentArg->unpack, - $currentArg->getAttributes(), + [], null ); } diff --git a/rules/DowngradePhp80/NodeAnalyzer/UnnamedArgumentResolver.php b/rules/DowngradePhp80/NodeAnalyzer/UnnamedArgumentResolver.php index 38c9e830..68e7b47d 100644 --- a/rules/DowngradePhp80/NodeAnalyzer/UnnamedArgumentResolver.php +++ b/rules/DowngradePhp80/NodeAnalyzer/UnnamedArgumentResolver.php @@ -45,7 +45,7 @@ public function resolveFromReflection( foreach ($currentArgs as $key => $arg) { if (! $arg->name instanceof Identifier) { - $unnamedArgs[$key] = new Arg($arg->value, $arg->byRef, $arg->unpack, $arg->getAttributes(), null); + $unnamedArgs[$key] = new Arg($arg->value, $arg->byRef, $arg->unpack, [], null); continue; }