public function __construct()
{
parent::__construct();
$indent = '(?P<indent>(?: {2}|\\t)*)';
// e.g. @param <hint> <$var>
$paramTag = '(?P<tag>param)\\s+(?P<hint>[^$]+?)\\s+(?P<var>&?\\$[^\\s]+)';
// e.g. @return <hint>
$otherTags = '(?P<tag2>return|throws|var|type)\\s+(?P<hint2>[^\\s]+?)';
// optional <desc>
$desc = '(?:\\s+(?P<desc>\\V*))';
$this->regex = '/^' . $indent . ' \\* @(?:' . $paramTag . '|' . $otherTags . ')' . $desc . '\\s*$/';
$this->regexCommentLine = '/^' . $indent . ' \\*(?! @)(?:\\s+(?P<desc>\\V+))(?<!\\*\\/)$/';
}