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

Breadcrumb

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

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\Syntax

Code

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

API Navigation

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