function Parser::parseStatement
Parses a statement
Return value
Node\Statement|null
9 calls to Parser::parseStatement()
- Parser::parseDoWhileStatement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a do-while statement
- Parser::parseForLetConstStatement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a for(let ...) or for(const ...) statement
- Parser::parseForNotVarLetConstStatement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a for statement that does not start with var, let or const
- Parser::parseForVarStatement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a for(var ...) statement
- Parser::parseIfStatement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses an if statement
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php, line 370
Class
- Parser
- Parser class
Namespace
Peast\SyntaxCode
protected function parseStatement() {
//Here the token value is checked for performance so that functions won't be
//called if not necessary
$token = $this->scanner
->getToken();
if (!$token) {
return null;
}
$val = $token->value;
if ($val === "{" && ($statement = $this->parseBlock())) {
return $statement;
}
elseif ($val === "var" && ($statement = $this->parseVariableStatement())) {
return $statement;
}
elseif ($val === ";" && ($statement = $this->parseEmptyStatement())) {
return $statement;
}
elseif ($val === "if" && ($statement = $this->parseIfStatement())) {
return $statement;
}
elseif (($val === "for" || $val === "while" || $val === "do" || $val === "switch") && ($statement = $this->parseBreakableStatement())) {
return $statement;
}
elseif ($val == "continue" && ($statement = $this->parseContinueStatement())) {
return $statement;
}
elseif ($val === "break" && ($statement = $this->parseBreakStatement())) {
return $statement;
}
elseif ($this->context->allowReturn && $val === "return" && ($statement = $this->parseReturnStatement())) {
return $statement;
}
elseif ($val === "with" && ($statement = $this->parseWithStatement())) {
return $statement;
}
elseif ($val === "throw" && ($statement = $this->parseThrowStatement())) {
return $statement;
}
elseif ($val === "try" && ($statement = $this->parseTryStatement())) {
return $statement;
}
elseif ($val === "debugger" && ($statement = $this->parseDebuggerStatement())) {
return $statement;
}
elseif ($statement = $this->parseLabelledStatement()) {
return $statement;
}
elseif ($statement = $this->parseExpressionStatement()) {
return $statement;
}
return null;
}