Skip to content

[docblocks] Add MergePhpstanDocTagIntoNativeRector to merge @phpstan-* doc tags into native tags#8171

Merged
TomasVotruba merged 1 commit into
mainfrom
merge-phpstan-doc-tag-to-native
Jul 11, 2026
Merged

[docblocks] Add MergePhpstanDocTagIntoNativeRector to merge @phpstan-* doc tags into native tags#8171
TomasVotruba merged 1 commit into
mainfrom
merge-phpstan-doc-tag-to-native

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

Adds MergePhpstanDocTagIntoNativeRector that promotes the more precise @phpstan-var / @phpstan-param / @phpstan-return docblock tag into its native @var / @param / @return counterpart, dropping the weaker native duplicate.

 final class SomeClass
 {
     /**
-     * @var Collection
-     *
-     * @phpstan-var Collection<int, string>
+     * @var Collection<int, string>
      */
     private $items;
 }

Also handles method @param / @return:

     /**
-     * @param array $values
-     * @phpstan-param array<int, string> $values
-     *
-     * @return array
-     * @phpstan-return array<int, string>
+     * @param array<int, string> $values
+     *
+     * @return array<int, string>
      */
     public function process($values)

A @phpstan-* tag with no native counterpart is still renamed to native. Params are matched by name, so unrelated @param tags stay untouched.

@TomasVotruba TomasVotruba changed the title Add MergePhpstanDocTagIntoNativeRector to merge @phpstan-* doc tags into native tags [docblocks] Add MergePhpstanDocTagIntoNativeRector to merge @phpstan-* doc tags into native tags Jul 11, 2026
@TomasVotruba TomasVotruba merged commit d9f0339 into main Jul 11, 2026
65 checks passed
@TomasVotruba TomasVotruba deleted the merge-phpstan-doc-tag-to-native branch July 11, 2026 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant