From f1b554332dcf6fd4281ef4c460624aae84c65869 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sat, 17 Oct 2026 20:39:30 +0200 Subject: [PATCH] deprecate ReplaceArgumentDefaultValue value object, move shared sentinel to interface --- rules/Arguments/ArgumentDefaultValueReplacer.php | 3 +-- .../Contract/ReplaceArgumentDefaultValueInterface.php | 2 ++ rules/Arguments/ValueObject/ReplaceArgumentDefaultValue.php | 4 +--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/rules/Arguments/ArgumentDefaultValueReplacer.php b/rules/Arguments/ArgumentDefaultValueReplacer.php index 3e92627089a..1c981749009 100644 --- a/rules/Arguments/ArgumentDefaultValueReplacer.php +++ b/rules/Arguments/ArgumentDefaultValueReplacer.php @@ -20,7 +20,6 @@ use PHPStan\Reflection\MethodReflection; use PHPStan\Reflection\ParametersAcceptorSelector; use Rector\Arguments\Contract\ReplaceArgumentDefaultValueInterface; -use Rector\Arguments\ValueObject\ReplaceArgumentDefaultValue; use Rector\NodeAnalyzer\ArgsAnalyzer; use Rector\NodeTypeResolver\NodeTypeResolver; use Rector\PhpParser\Node\NodeFactory; @@ -63,7 +62,7 @@ public function processReplaces( private function isDefaultValueMatched(?Expr $expr, mixed $value): bool { // allow any values before, also allow param without default value - if ($value === ReplaceArgumentDefaultValue::ANY_VALUE_BEFORE) { + if ($value === ReplaceArgumentDefaultValueInterface::ANY_VALUE_BEFORE) { return true; } diff --git a/rules/Arguments/Contract/ReplaceArgumentDefaultValueInterface.php b/rules/Arguments/Contract/ReplaceArgumentDefaultValueInterface.php index 14f76fbe1a9..994dac5277e 100644 --- a/rules/Arguments/Contract/ReplaceArgumentDefaultValueInterface.php +++ b/rules/Arguments/Contract/ReplaceArgumentDefaultValueInterface.php @@ -6,6 +6,8 @@ interface ReplaceArgumentDefaultValueInterface { + public const string ANY_VALUE_BEFORE = '*ANY_VALUE_BEFORE*'; + public function getPosition(): int; public function getValueBefore(): mixed; diff --git a/rules/Arguments/ValueObject/ReplaceArgumentDefaultValue.php b/rules/Arguments/ValueObject/ReplaceArgumentDefaultValue.php index 4238f6f9f88..b41616d6a55 100644 --- a/rules/Arguments/ValueObject/ReplaceArgumentDefaultValue.php +++ b/rules/Arguments/ValueObject/ReplaceArgumentDefaultValue.php @@ -9,12 +9,10 @@ use Rector\Validation\RectorAssert; /** - * @api used in rector-symfony + * @deprecated Use custom rule instead, see ReplaceArgumentDefaultValueRector deprecation. */ final readonly class ReplaceArgumentDefaultValue implements ReplaceArgumentDefaultValueInterface { - public const string ANY_VALUE_BEFORE = '*ANY_VALUE_BEFORE*'; - /** * @param int<0, max> $position */