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

Breadcrumb

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

class ParserFactory

Hierarchy

  • class \PhpParser\ParserFactory

Expanded class hierarchy of ParserFactory

3 files declare their use of ParserFactory
Calculator.php in vendor/sebastian/complexity/src/Calculator.php
Counter.php in vendor/sebastian/lines-of-code/src/Counter.php
ParsingFileAnalyser.php in vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php

File

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

Namespace

PhpParser
View source
class ParserFactory {
    
    /**
     * 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.
     */
    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);
    }
    
    /**
     * 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.
     */
    public function createForNewestSupportedVersion() : Parser {
        return $this->createForVersion(PhpVersion::getNewestSupported());
    }
    
    /**
     * 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.
     */
    public function createForHostVersion() : Parser {
        return $this->createForVersion(PhpVersion::getHostVersion());
    }

}

Members

Title Sort descending Modifiers Object type Summary
ParserFactory::createForHostVersion public function 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 public function 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.
ParserFactory::createForVersion public function 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.

API Navigation

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