diff --git a/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php b/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php index 3b10e8d647..e50bc698e7 100644 --- a/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php +++ b/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php @@ -70,6 +70,9 @@ public function fix(SplFileInfo $fileInfo, Tokens $tokens): void $docblockLines = explode("\n", $originalDocContent); foreach ($docblockLines as $key => $docblockLine) { + // drop articles, so "Get the API helper" still duplicates getApiHelper() + $docblockLine = Regex::replace($docblockLine, '#\b(?:a|an|the)\b#i', ''); + $spacelessDocblockLine = Regex::replace($docblockLine, '#[\s\n]+#', ''); // ignore trailing sentence punctuation, e.g. "Set name." duplicates setName() diff --git a/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/with_articles.php.inc b/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/with_articles.php.inc new file mode 100644 index 0000000000..8ad42dda78 --- /dev/null +++ b/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/with_articles.php.inc @@ -0,0 +1,34 @@ + +----- + diff --git a/rector.php b/rector.php index 8ccac0eba2..9fe50ca25b 100644 --- a/rector.php +++ b/rector.php @@ -3,6 +3,7 @@ declare(strict_types=1); use Rector\Config\RectorConfig; +use Rector\DeadCode\Rector\ClassMethod\RemoveReturnTagIncompatibleWithNativeTypeRector; use Rector\DeadCode\Rector\ConstFetch\RemovePhpVersionIdCheckRector; use Rector\Php84\Rector\Class_\DeprecatedAnnotationToDeprecatedAttributeRector; @@ -30,6 +31,12 @@ // conditional checks RemovePhpVersionIdCheckRector::class, + // rector <= 2.5.6 misreads the @phpstan-type GitlabIssue array-shape alias + // as incompatible with the native "array" return type and strips the tag + RemoveReturnTagIncompatibleWithNativeTypeRector::class => [ + __DIR__ . '/src/Console/Output/GitlabOutputFormatter.php', + ], + DeprecatedAnnotationToDeprecatedAttributeRector::class => [ // avoid runtime reporting in output, only for the user __DIR__ . '/src/ValueObject/Option.php',