Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Parser.php

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

... See full list

File

vendor/mck89/peast/lib/Peast/Syntax/Parser.php, line 370

Class

Parser
Parser class

Namespace

Peast\Syntax

Code

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;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal