From ac62671f268d16359af2e7c8040e3ee26497b00f Mon Sep 17 00:00:00 2001 From: yoosef alipour Date: Wed, 17 Jan 2024 21:21:03 +0330 Subject: [PATCH] Extractor: supports PHP-Parser 5.0 (#150) --- composer.json | 2 +- src/PhpGenerator/Extractor.php | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index 78827f66..b04fb925 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ }, "require-dev": { "nette/tester": "^2.4", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.18 || ^5.0", "tracy/tracy": "^2.8", "phpstan/phpstan": "^1.0", "jetbrains/phpstorm-attributes": "dev-master" diff --git a/src/PhpGenerator/Extractor.php b/src/PhpGenerator/Extractor.php index 8ba07f0c..135d4eb7 100644 --- a/src/PhpGenerator/Extractor.php +++ b/src/PhpGenerator/Extractor.php @@ -47,8 +47,7 @@ private function parseCode(string $code): void } $this->code = Nette\Utils\Strings::normalizeNewlines($code); - $lexer = new PhpParser\Lexer\Emulative(['usedAttributes' => ['startFilePos', 'endFilePos', 'comments']]); - $parser = (new ParserFactory)->create(ParserFactory::ONLY_PHP7, $lexer); + $parser = (new ParserFactory)->createForNewestSupportedVersion(); $stmts = $parser->parse($this->code); $traverser = new PhpParser\NodeTraverser;