From d7df97da7183ac79fb11f1079cb330b47e7b8b59 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 26 Aug 2025 17:09:17 +0700 Subject: [PATCH 1/2] [AnnotationToAttribute] Handle already in use on DataProviderAnnotationToAttributeRector --- .../Fixture/already_in_use.php.inc | 35 +++++++++++++++++++ ...ataProviderAnnotationToAttributeRector.php | 8 +++-- 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 rules-tests/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector/Fixture/already_in_use.php.inc diff --git a/rules-tests/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector/Fixture/already_in_use.php.inc b/rules-tests/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector/Fixture/already_in_use.php.inc new file mode 100644 index 00000000..97b467fb --- /dev/null +++ b/rules-tests/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector/Fixture/already_in_use.php.inc @@ -0,0 +1,35 @@ + +----- + diff --git a/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php b/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php index e925740b..39d1bacd 100644 --- a/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php +++ b/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php @@ -132,11 +132,15 @@ public function refactor(Node $node): ?Node } foreach ($desiredTagValueNodes as $desiredTagValueNode) { - if (! $desiredTagValueNode->value instanceof GenericTagValueNode) { + if (! $desiredTagValueNode->value instanceof GenericTagValueNode && ! $desiredTagValueNode->value instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) { continue; } - $originalAttributeValue = $desiredTagValueNode->value->value; + if ($desiredTagValueNode->value instanceof GenericTagValueNode) { + $originalAttributeValue = $desiredTagValueNode->value->value; + } else { + $originalAttributeValue = $desiredTagValueNode->value->identifierTypeNode->name; + } $node->attrGroups[] = $this->createAttributeGroup(strtok($originalAttributeValue, " \t\n\r\0\x0B")); From b2855e8d2fee5b74e85fab5144a86f1cac4882ff Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 26 Aug 2025 10:10:18 +0000 Subject: [PATCH 2/2] [ci-review] Rector Rectify --- .../ClassMethod/DataProviderAnnotationToAttributeRector.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php b/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php index 39d1bacd..1b0b6ee4 100644 --- a/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php +++ b/rules/AnnotationsToAttributes/Rector/ClassMethod/DataProviderAnnotationToAttributeRector.php @@ -11,6 +11,7 @@ use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTagNode; use PHPStan\Reflection\ClassReflection; use PHPStan\Reflection\ReflectionProvider; +use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode; use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo; use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover; @@ -132,7 +133,7 @@ public function refactor(Node $node): ?Node } foreach ($desiredTagValueNodes as $desiredTagValueNode) { - if (! $desiredTagValueNode->value instanceof GenericTagValueNode && ! $desiredTagValueNode->value instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) { + if (! $desiredTagValueNode->value instanceof GenericTagValueNode && ! $desiredTagValueNode->value instanceof DoctrineAnnotationTagValueNode) { continue; }