Skip to content

Commit a9daa4a

Browse files
committed
Exclude {@internal} comments from description
1 parent 5bc3e88 commit a9daa4a

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/Parser/SniffParser.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,9 @@ private function getDocBlock(string $docComment): string
142142

143143
$docBlockSummary = $docBlock->getSummary();
144144
$docBlockDescription = (string)$docBlock->getDescription();
145+
$docBlockDescription = preg_replace('`\n*{@internal[^}]+}`', '', $docBlockDescription);
145146

146-
return $docBlockSummary . ($docBlockDescription !== '' ? "\n\n" . $docBlock->getDescription() : '');
147+
return $docBlockSummary . ($docBlockDescription !== '' ? "\n\n" . $docBlockDescription : '');
147148
}
148149

149150
/**

tests/Parser/SniffParserTest.php

+23
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,29 @@ class MySniff {}
294294
);
295295
}
296296

297+
/** @test */
298+
public function parse_WithInternalDocblock_ExcludeInternal()
299+
{
300+
$content = '<?php
301+
namespace Standard\Sniffs\Category;
302+
/**
303+
* Summary
304+
*
305+
* Description
306+
* {@internal Multiline
307+
* internal comment}
308+
*/
309+
class MySniff {}
310+
';
311+
312+
(new Filesystem())->dumpFile(self::PHP_FILE_PATH, $content);
313+
$doc = $this->parser->parse(self::PHP_FILE_PATH, new StringSourceLocator($content, $this->astLocator));
314+
self::assertEquals(
315+
"Summary\n\nDescription",
316+
$doc->getDocblock()
317+
);
318+
}
319+
297320
/** @test */
298321
public function parse_WithInvalidPhpPath_ThrowException()
299322
{

0 commit comments

Comments
 (0)