public function setTypes(array $types) { $pattern = '/' . preg_quote($this->getTypesContent()) . '/'; $this->lines[0]->setContent(preg_replace($pattern, implode('|', $types), $this->lines[0]->getContent(), 1)); $this->typesContent = null; }
/** * Fix the types at the given line. * * We must be super careful not to modify parts of words. * * This will be nicely handled behind the scenes for us by the annotation class. * * @param Annotation $annotation */ private function fixTypes(Annotation $annotation) { $types = $annotation->getTypes(); $new = $this->normalizeTypes($types); if ($types !== $new) { $annotation->setTypes($new); } }