private function buildUpdatedDocBlock()

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);
    }