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

Breadcrumb

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

function ParserFactory::createForVersion

Create a parser targeting the given version on a best-effort basis. The parser will generally accept code for the newest supported version, but will try to accommodate code that becomes invalid in newer versions or changes in interpretation.

2 calls to ParserFactory::createForVersion()
ParserFactory::createForHostVersion in vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php
Create a parser targeting the host PHP version, that is the PHP version we're currently running on. This parser will not use any token emulation.
ParserFactory::createForNewestSupportedVersion in vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php
Create a parser targeting the newest version supported by this library. Code for older versions will be accepted if there have been no relevant backwards-compatibility breaks in PHP.

File

vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php, line 14

Class

ParserFactory

Namespace

PhpParser

Code

public function createForVersion(PhpVersion $version) : Parser {
    if ($version->isHostVersion()) {
        $lexer = new Lexer();
    }
    else {
        $lexer = new Lexer\Emulative($version);
    }
    if ($version->id >= 80000) {
        return new Php8($lexer, $version);
    }
    return new Php7($lexer, $version);
}

API Navigation

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