From 52fc42bab2e035bd22922d231c759987f42ba741 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 6 Dec 2024 16:45:11 +0700 Subject: [PATCH 1/2] Fix scoped prefixed UrlGeneratorInterface on RedirectToRouteRector --- .../Rector/MethodCall/RedirectToRouteRector.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php b/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php index 5b7c6c90..ea522bdc 100644 --- a/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php +++ b/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php @@ -6,11 +6,11 @@ use PhpParser\Node; use PhpParser\Node\Arg; +use PhpParser\Node\Expr\ClassConstFetch; use PhpParser\Node\Expr\MethodCall; use Rector\PhpParser\Node\Value\ValueResolver; use Rector\Rector\AbstractRector; use Rector\Symfony\TypeAnalyzer\ControllerAnalyzer; -use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; @@ -99,7 +99,15 @@ private function isDefaultReferenceType(MethodCall $methodCall): bool return false; } - return $this->valueResolver->isValue($refTypeArg->value, UrlGeneratorInterface::ABSOLUTE_PATH); + if (! $refTypeArg->value instanceof ClassConstFetch) { + return false; + } + + if (! $this->isName($refTypeArg->value->class, 'Symfony\Component\Routing\Generator\UrlGeneratorInterface')) { + return false; + } + + return $this->isName($refTypeArg->value->name, 'ABSOLUTE_PATH'); } /** From 51846486a2ab7bd38d94b50781f3d96fe8f94fed Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 6 Dec 2024 16:47:37 +0700 Subject: [PATCH 2/2] clean up --- rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php b/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php index ea522bdc..488b05ac 100644 --- a/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php +++ b/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php @@ -8,7 +8,6 @@ use PhpParser\Node\Arg; use PhpParser\Node\Expr\ClassConstFetch; use PhpParser\Node\Expr\MethodCall; -use Rector\PhpParser\Node\Value\ValueResolver; use Rector\Rector\AbstractRector; use Rector\Symfony\TypeAnalyzer\ControllerAnalyzer; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; @@ -20,8 +19,7 @@ final class RedirectToRouteRector extends AbstractRector { public function __construct( - private readonly ControllerAnalyzer $controllerAnalyzer, - private readonly ValueResolver $valueResolver + private readonly ControllerAnalyzer $controllerAnalyzer ) { }