From 6d043ca5304ca4cabea54a6e845d0829587dde50 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 17 May 2026 09:26:12 +0700 Subject: [PATCH] [CodeQuality] Add missing MinPhpVersionInterface implements on AddNameToBooleanArgumentRector --- .../CallLike/AddNameToBooleanArgumentRector.php | 12 ++++++++++-- src/ValueObject/PhpVersionFeature.php | 5 +++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/rules/CodeQuality/Rector/CallLike/AddNameToBooleanArgumentRector.php b/rules/CodeQuality/Rector/CallLike/AddNameToBooleanArgumentRector.php index 29366f7e920..70f0e838cd1 100644 --- a/rules/CodeQuality/Rector/CallLike/AddNameToBooleanArgumentRector.php +++ b/rules/CodeQuality/Rector/CallLike/AddNameToBooleanArgumentRector.php @@ -16,13 +16,15 @@ use Rector\PHPStan\ScopeFetcher; use Rector\Rector\AbstractRector; use Rector\Reflection\ReflectionResolver; +use Rector\ValueObject\PhpVersionFeature; +use Rector\VersionBonding\Contract\MinPhpVersionInterface; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; /** * @see \Rector\Tests\CodeQuality\Rector\CallLike\AddNameToBooleanArgumentRector\AddNameToBooleanArgumentRectorTest */ -final class AddNameToBooleanArgumentRector extends AbstractRector +final class AddNameToBooleanArgumentRector extends AbstractRector implements MinPhpVersionInterface { public function __construct( private readonly ReflectionResolver $reflectionResolver, @@ -81,7 +83,8 @@ public function refactor(Node $node): ?Node } $wasChanged = false; - for ($i = $position; $i < count($args); ++$i) { + $counter = count($args); + for ($i = $position; $i < $counter; ++$i) { $arg = $args[$i]; if ($arg->name instanceof Identifier) { continue; @@ -103,6 +106,11 @@ public function refactor(Node $node): ?Node return $node; } + public function provideMinPhpVersion(): int + { + return PhpVersionFeature::NAMED_ARGUMENTS; + } + private function shouldSkip(CallLike $callLike): bool { if ($callLike->isFirstClassCallable()) { diff --git a/src/ValueObject/PhpVersionFeature.php b/src/ValueObject/PhpVersionFeature.php index 3fc5b8ede3b..bcc06cd7c37 100644 --- a/src/ValueObject/PhpVersionFeature.php +++ b/src/ValueObject/PhpVersionFeature.php @@ -505,4 +505,9 @@ final class PhpVersionFeature * @see https://wiki.php.net/rfc/clamp_v2 */ public const int CLAMP = PhpVersion::PHP_86; + + /** + * @see https://php.watch/versions/8.0/named-parameters + */ + public const int NAMED_ARGUMENTS = PhpVersion::PHP_80; }