in build/ClassAnnotationUpdater.php [80:110]
private function buildUpdatedDocBlock()
{
$docBlockLines = explode(
PHP_EOL,
$this->reflection->getDocComment() ?: $this->defaultDocBlock
);
// remove lines matching exclusion patterns
if ($this->removeMatching) {
$docBlockLines = array_filter($docBlockLines, function ($line) {
return !preg_match($this->removeMatching, trim($line));
});
}
// hold on to the closing line
$lastLine = array_pop($docBlockLines);
// add a padding line if needed
if (' *' !== end($docBlockLines)) {
$docLines []= ' *';
}
// append API @method annotations
$docBlockLines = array_merge($docBlockLines, $this->linesToAppend);
// add back the closing line
$docBlockLines []= $lastLine;
// send everything back as a string
return implode(PHP_EOL, $docBlockLines);
}