public static function parse($varname, $doc) { $result = []; if (preg_match_all("/@" . $varname . "\\s+([^\\s]+)\\s+\\\$(\\w+)(.*)/", $doc, $m)) { foreach (array_keys($m[2]) as $n) { $summary = $m[3][$n]; $opt = []; if (strpos($summary, '@[') !== false) { list($summary, $anon) = explode('@[', $summary, 2); $opt = \ebi\Annotation::activation('@[' . $anon); } $result[] = new static($m[2][$n], $m[1][$n], $summary, $opt); } } return $result; }