PATH:
home
/
lab2454c
/
westernclear.net
/
vendor
/
nikic
/
php-parser
/
lib
/
PhpParser
<?php declare(strict_types=1); namespace PhpParser; class ParserFactory { const PREFER_PHP7 = 1; const PREFER_PHP5 = 2; const ONLY_PHP7 = 3; const ONLY_PHP5 = 4; /** * Creates a Parser instance, according to the provided kind. * * @param int $kind One of ::PREFER_PHP7, ::PREFER_PHP5, ::ONLY_PHP7 or ::ONLY_PHP5 * @param Lexer|null $lexer Lexer to use. Defaults to emulative lexer when not specified * @param array $parserOptions Parser options. See ParserAbstract::__construct() argument * * @return Parser The parser instance */ public function create(int $kind, Lexer $lexer = null, array $parserOptions = []) : Parser { if (null === $lexer) { $lexer = new Lexer\Emulative(); } switch ($kind) { case self::PREFER_PHP7: return new Parser\Multiple([ new Parser\Php7($lexer, $parserOptions), new Parser\Php5($lexer, $parserOptions) ]); case self::PREFER_PHP5: return new Parser\Multiple([ new Parser\Php5($lexer, $parserOptions), new Parser\Php7($lexer, $parserOptions) ]); case self::ONLY_PHP7: return new Parser\Php7($lexer, $parserOptions); case self::ONLY_PHP5: return new Parser\Php5($lexer, $parserOptions); default: throw new \LogicException( 'Kind must be one of ::PREFER_PHP7, ::PREFER_PHP5, ::ONLY_PHP7 or ::ONLY_PHP5' ); } } }
[+]
Builder
[-] NodeVisitorAbstract.php
[edit]
[+]
NodeVisitor
[-] ParserFactory.php
[edit]
[-] NodeVisitor.php
[edit]
[+]
Parser
[+]
Lexer
[-] NodeAbstract.php
[edit]
[+]
..
[-] BuilderHelpers.php
[edit]
[+]
PrettyPrinter
[+]
Internal
[-] Node.php
[edit]
[-] ErrorHandler.php
[edit]
[-] Parser.php
[edit]
[-] Builder.php
[edit]
[-] ParserAbstract.php
[edit]
[-] BuilderFactory.php
[edit]
[-] PrettyPrinterAbstract.php
[edit]
[-] ConstExprEvaluator.php
[edit]
[-] Comment.php
[edit]
[-] ConstExprEvaluationException.php
[edit]
[-] JsonDecoder.php
[edit]
[-] NameContext.php
[edit]
[-] NodeFinder.php
[edit]
[+]
ErrorHandler
[+]
Comment
[-] Lexer.php
[edit]
[-] NodeTraverserInterface.php
[edit]
[+]
Node
[-] NodeDumper.php
[edit]
[-] NodeTraverser.php
[edit]
[-] Error.php
[edit]