diff --git a/src/DocBlock/UselessDocBlockCleaner.php b/src/DocBlock/UselessDocBlockCleaner.php index caa8ae98..68c44ae7 100644 --- a/src/DocBlock/UselessDocBlockCleaner.php +++ b/src/DocBlock/UselessDocBlockCleaner.php @@ -60,6 +60,12 @@ final class UselessDocBlockCleaner */ private const COMMENT_CONSTRUCTOR_CLASS_REGEX = '#^(\/\/|(\s|\*)+)(\s\w+\s)?constructor(\.)?$#i'; + /** + * @see https://regex101.com/r/1kcgR5/1 + * @var string + */ + private const DOCTRINE_GENERATED_COMMENT_REGEX = '#^(\/\*{2}\s+?)?(\*|\/\/)\s+This class was generated by the Doctrine ORM\. Add your own custom\r?\n\s+\*\s+repository methods below\.(\s+\*\/)$#'; + public function clearDocTokenContent(Token $currentToken, ?string $classLikeName): string { $docContent = $currentToken->getContent(); @@ -87,7 +93,10 @@ public function clearDocTokenContent(Token $currentToken, ?string $classLikeName return ''; } - return implode("\n", $cleanedCommentLines); + $commentText = implode("\n", $cleanedCommentLines); + + // run multilines regex on final result + return Strings::replace($commentText, self::DOCTRINE_GENERATED_COMMENT_REGEX); } /** diff --git a/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/doctrine_generated.php.inc b/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/doctrine_generated.php.inc new file mode 100644 index 00000000..55079e4c --- /dev/null +++ b/tests/Fixer/Commenting/RemoveUselessDefaultCommentFixer/Fixture/doctrine_generated.php.inc @@ -0,0 +1,24 @@ + +----- +