diff --git a/src/Parser/SniffParser.php b/src/Parser/SniffParser.php index afe51e7..2e4e3f1 100644 --- a/src/Parser/SniffParser.php +++ b/src/Parser/SniffParser.php @@ -142,8 +142,9 @@ private function getDocBlock(string $docComment): string $docBlockSummary = $docBlock->getSummary(); $docBlockDescription = (string)$docBlock->getDescription(); + $docBlockDescription = preg_replace('`[\n\r]*\{@internal[^}]+\}`', '', $docBlockDescription); - return $docBlockSummary . ($docBlockDescription !== '' ? "\n\n" . $docBlock->getDescription() : ''); + return $docBlockSummary . ($docBlockDescription !== '' ? "\n\n" . $docBlockDescription : ''); } /** diff --git a/tests/Parser/SniffParserTest.php b/tests/Parser/SniffParserTest.php index aac916a..8e1a0cd 100644 --- a/tests/Parser/SniffParserTest.php +++ b/tests/Parser/SniffParserTest.php @@ -294,6 +294,29 @@ class MySniff {} ); } + /** @test */ + public function parse_WithInternalDocblock_ExcludeInternal() + { + $content = 'dumpFile(self::PHP_FILE_PATH, $content); + $doc = $this->parser->parse(self::PHP_FILE_PATH, new StringSourceLocator($content, $this->astLocator)); + self::assertEquals( + "Summary\n\nDescription", + $doc->getDocblock() + ); + } + /** @test */ public function parse_WithInvalidPhpPath_ThrowException() {