function Parser::parseClassDeclaration
Parses a class declaration
Parameters
bool $default Default mode:
Return value
Node\ClassDeclaration|null
1 call to Parser::parseClassDeclaration()
- Parser::parseDeclaration in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a declaration
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php, line 1652
Class
- Parser
- Parser class
Namespace
Peast\SyntaxCode
protected function parseClassDeclaration($default = false) {
if ($token = $this->scanner
->consume("class")) {
//Class declarations are strict mode by default
$prevStrict = $this->scanner
->getStrictMode();
$this->scanner
->setStrictMode(true);
$id = $this->parseIdentifier(static::$bindingIdentifier);
if (($default || $id) && ($tail = $this->parseClassTail())) {
$node = $this->createNode("ClassDeclaration", $token);
if ($id) {
$node->setId($id);
}
if ($tail[0]) {
$node->setSuperClass($tail[0]);
}
$node->setBody($tail[1]);
$this->scanner
->setStrictMode($prevStrict);
return $this->completeNode($node);
}
$this->error();
}
return null;
}