function Parser::parseArrayLiteral
Parses an array literal
Return value
Node\ArrayExpression|null
1 call to Parser::parseArrayLiteral()
- Parser::parsePrimaryExpression in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a primary expression
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php, line 3535
Class
- Parser
- Parser class
Namespace
Peast\SyntaxCode
protected function parseArrayLiteral() {
if ($token = $this->scanner
->consume("[")) {
$elements = array();
while (true) {
if ($elision = $this->parseElision()) {
$elements = array_merge($elements, array_fill(0, $elision, null));
}
if (($element = $this->parseSpreadElement()) || ($element = $this->isolateContext(array(
"allowIn" => true,
), "parseAssignmentExpression"))) {
$elements[] = $element;
if (!$this->scanner
->consume(",")) {
break;
}
}
else {
break;
}
}
if ($this->scanner
->consume("]")) {
$node = $this->createNode("ArrayExpression", $token);
$node->setElements($elements);
return $this->completeNode($node);
}
$this->error();
}
return null;
}