function Parser::parseCaseBlock
Parses the content of a switch statement
Return value
Node\SwitchCase[]|null
1 call to Parser::parseCaseBlock()
- Parser::parseSwitchStatement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a switch statement
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php, line 870
Class
- Parser
- Parser class
Namespace
Peast\SyntaxCode
protected function parseCaseBlock() {
if ($this->scanner
->consume("{")) {
$parsedCasesAll = array(
$this->parseCaseClauses(),
$this->parseDefaultClause(),
$this->parseCaseClauses(),
);
if ($this->scanner
->consume("}")) {
$cases = array();
foreach ($parsedCasesAll as $parsedCases) {
if ($parsedCases) {
if (is_array($parsedCases)) {
$cases = array_merge($cases, $parsedCases);
}
else {
$cases[] = $parsedCases;
}
}
}
return $cases;
}
elseif ($this->parseDefaultClause()) {
$this->error("Multiple default clause in switch statement");
}
else {
$this->error();
}
}
return null;
}