function Parser::parseArrayBindingPattern
Parses an array binding pattern
Return value
Node\ArrayPattern|null
1 call to Parser::parseArrayBindingPattern()
- Parser::parseBindingPattern in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a binding pattern
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php, line 2388
Class
- Parser
- Parser class
Namespace
Peast\SyntaxCode
protected function parseArrayBindingPattern() {
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->parseBindingElement()) {
$elements[] = $element;
if (!$this->scanner
->consume(",")) {
break;
}
}
elseif ($rest = $this->parseBindingRestElement()) {
$elements[] = $rest;
break;
}
else {
break;
}
}
if ($this->scanner
->consume("]")) {
$node = $this->createNode("ArrayPattern", $token);
$node->setElements($elements);
return $this->completeNode($node);
}
}
return null;
}