From 3a06330071e8a3fa271a00eebc4e866cbe16a1fd Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Thu, 2 Jul 2026 15:54:17 +0200 Subject: [PATCH] Remove method-name duplicate description with trailing punctuation --- ...oveMethodNameDuplicateDescriptionFixer.php | 3 ++ .../Fixture/trailing_period.php.inc | 30 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/trailing_period.php.inc diff --git a/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php b/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php index 3fcc29e06d..31679dbb5d 100644 --- a/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php +++ b/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php @@ -71,6 +71,9 @@ public function fix(SplFileInfo $fileInfo, Tokens $tokens): void $docblockLines = explode("\n", $originalDocContent); foreach ($docblockLines as $key => $docblockLine) { $spacelessDocblockLine = Regex::replace($docblockLine, '#[\s\n]+#', ''); + + // ignore trailing sentence punctuation, e.g. "Set name." duplicates setName() + $spacelessDocblockLine = rtrim($spacelessDocblockLine, '.!'); if (strtolower($spacelessDocblockLine) !== strtolower('*' . $methodName)) { continue; } diff --git a/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/trailing_period.php.inc b/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/trailing_period.php.inc new file mode 100644 index 0000000000..90db826749 --- /dev/null +++ b/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/trailing_period.php.inc @@ -0,0 +1,30 @@ + +----- +