From 3e16e9a79a1c0e5efdd074b08c1e5b9d30e4c139 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 19 Aug 2025 20:36:38 +0700 Subject: [PATCH 1/4] [Renaming] Keep parentheses on RenameCastRector --- .../Fixture/keep_parentheses.php.inc | 27 +++++++++++++++++++ .../config/configured_rule.php | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc diff --git a/rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc b/rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc new file mode 100644 index 00000000000..dad1017de71 --- /dev/null +++ b/rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc @@ -0,0 +1,27 @@ + +----- + \ No newline at end of file diff --git a/rules-tests/Renaming/Rector/Cast/RenameCastRector/config/configured_rule.php b/rules-tests/Renaming/Rector/Cast/RenameCastRector/config/configured_rule.php index 3babfc452cc..57e0a5dec33 100644 --- a/rules-tests/Renaming/Rector/Cast/RenameCastRector/config/configured_rule.php +++ b/rules-tests/Renaming/Rector/Cast/RenameCastRector/config/configured_rule.php @@ -3,6 +3,7 @@ declare(strict_types=1); use PhpParser\Node\Expr\Cast\Double; +use PhpParser\Node\Expr\Cast\Int_; use Rector\Config\RectorConfig; use Rector\Renaming\Rector\Cast\RenameCastRector; use Rector\Renaming\ValueObject\RenameCast; @@ -12,5 +13,6 @@ ->ruleWithConfiguration(RenameCastRector::class, [ new RenameCast(Double::class, Double::KIND_REAL, Double::KIND_FLOAT), new RenameCast(Double::class, Double::KIND_DOUBLE, Double::KIND_FLOAT), + new RenameCast(Int_::class, Int_::KIND_INTEGER, Int_::KIND_INT), ]); }; From f8170d62e91fc81b8c7dbfff193f36e906592dc9 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 19 Aug 2025 21:20:01 +0700 Subject: [PATCH 2/4] Fix --- rules/Renaming/Rector/Cast/RenameCastRector.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rules/Renaming/Rector/Cast/RenameCastRector.php b/rules/Renaming/Rector/Cast/RenameCastRector.php index 6bf68083b75..b0f0f0bcb0e 100644 --- a/rules/Renaming/Rector/Cast/RenameCastRector.php +++ b/rules/Renaming/Rector/Cast/RenameCastRector.php @@ -61,6 +61,8 @@ public function refactor(Node $node): ?Node $node->setAttribute(AttributeKey::KIND, $renameCast->getToCastKind()); $node->setAttribute(AttributeKey::ORIGINAL_NODE, null); + $node->setAttribute('startTokenPos', -1); + $node->setAttribute('endTokenPos', -1); return $node; } From 99daffee45acacef73c1b17f4beeb94c079fa648 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 19 Aug 2025 21:21:34 +0700 Subject: [PATCH 3/4] fix --- .../Fixture/keep_parentheses.php.inc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc b/rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc index dad1017de71..f1d864b911d 100644 --- a/rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc +++ b/rules-tests/Renaming/Rector/Cast/RenameCastRector/Fixture/keep_parentheses.php.inc @@ -4,7 +4,12 @@ namespace Rector\Tests\Renaming\Rector\Cast\RenameCastRector\Fixture; final class KeepParentheses { - public function run(float $i): int + public function runInt(float $i): int + { + return (int) ($i * $i); + } + + public function runInteger(float $i): int { return (integer) ($i * $i); } @@ -18,7 +23,12 @@ namespace Rector\Tests\Renaming\Rector\Cast\RenameCastRector\Fixture; final class KeepParentheses { - public function run(float $i): int + public function runInt(float $i): int + { + return (int) ($i * $i); + } + + public function runInteger(float $i): int { return (int) ($i * $i); } From 54c790b4af56d8133aedb753cd126b6b81e3c81f Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 19 Aug 2025 21:23:54 +0700 Subject: [PATCH 4/4] fix --- .../FixtureMatchToSwitchReflection/fixture.php.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/Issues/ScopeNotAvailable/FixtureMatchToSwitchReflection/fixture.php.inc b/tests/Issues/ScopeNotAvailable/FixtureMatchToSwitchReflection/fixture.php.inc index 64f8150a907..46621dc20f5 100644 --- a/tests/Issues/ScopeNotAvailable/FixtureMatchToSwitchReflection/fixture.php.inc +++ b/tests/Issues/ScopeNotAvailable/FixtureMatchToSwitchReflection/fixture.php.inc @@ -33,7 +33,9 @@ final class ServiceValueResolver } catch (\RuntimeException $e) { $r = new \ReflectionProperty($e, 'message'); - $r->setAccessible(true); + if (PHP_VERSION_ID < 80100) { + $r->setAccessible(true); + } $r->setValue($e, $message); throw $e;