private function Values()
{
$values = array($this->Value());
while ($this->lexer->isNextToken(DocLexer::T_COMMA)) {
$this->match(DocLexer::T_COMMA);
if ($this->lexer->isNextToken(DocLexer::T_CLOSE_PARENTHESIS)) {
break;
}
$token = $this->lexer->lookahead;
$value = $this->Value();
if (!is_object($value) && !is_array($value)) {
$this->syntaxError('Value', $token);
}
$values[] = $value;
}
foreach ($values as $k => $value) {
if (is_object($value) && $value instanceof \stdClass) {
$values[$value->name] = $value->value;
} else {
if (!isset($values['value'])) {
$values['value'] = $value;
} else {
if (!is_array($values['value'])) {
$values['value'] = array($values['value']);
}
$values['value'][] = $value;
}
}
unset($values[$k]);
}
return $values;
}