function Parser::parseStatementList
Parses a statement list
Parameters
bool $parseDirectivePrologues True to parse directive prologues:
Return value
Node\Node[]|null
4 calls to Parser::parseStatementList()
- Parser::parse in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses the source
- Parser::parseBlock in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a block statement
- Parser::parseCaseClause in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a case in a switch statement
- Parser::parseDefaultClause in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses default case in a switch statement
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php, line 321
Class
- Parser
- Parser class
Namespace
Peast\SyntaxCode
protected function parseStatementList($parseDirectivePrologues = false) {
$items = array();
//Get directive prologues and check if strict mode is present
if ($parseDirectivePrologues) {
$oldStrictMode = $this->scanner
->getStrictMode();
if ($directives = $this->parseDirectivePrologues()) {
$items = array_merge($items, $directives[0]);
//If "use strict" is present enable scanner strict mode
if (in_array("use strict", $directives[1])) {
$this->scanner
->setStrictMode(true);
}
}
}
while ($item = $this->parseStatementListItem()) {
$items[] = $item;
}
//Apply previous strict mode
if ($parseDirectivePrologues) {
$this->scanner
->setStrictMode($oldStrictMode);
}
return count($items) ? $items : null;
}