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

Breadcrumb

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

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

Code

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

API Navigation

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