private function DocParser::Values in Plug 7
Values ::= Array | Value {"," Value}* [","]
Return value
array
1 call to DocParser::Values()
- DocParser::MethodCall in lib/
doctrine/ annotations/ lib/ Doctrine/ Common/ Annotations/ DocParser.php - MethodCall ::= ["(" [Values] ")"]
File
- lib/
doctrine/ annotations/ lib/ Doctrine/ Common/ Annotations/ DocParser.php, line 846
Class
- DocParser
- A parser for docblock annotations.
Namespace
Doctrine\Common\AnnotationsCode
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;
}