From de92b885362ca2e1e5b133bc8904d9a53af9e77c Mon Sep 17 00:00:00 2001 From: Markus Podar Date: Sat, 27 Jan 2024 16:27:07 +0100 Subject: [PATCH] Add support for nikic/php-parser:^5 - `createForHostVersion` has been added to php-parse 4.18 so code can run with both versions [1] - therefore also bumped the minimum required version to it Note: The dev dependency vimeo/psalm is **not** compatible with php-parser:^5 currently. This does not impact usages of this library, but sometimes cause friction when working on this library. For our CI this isn't a problem, because we already remove that dependency before running the test suite. [1] https://github.com/nikic/PHP-Parser/blob/master/UPGRADE-5.0.md#changes-to-the-parser-factory --- composer.json | 2 +- src/UsesResolver.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 2eecae2de..ef72894c6 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "illuminate/console": "^8 || ^9 || ^10", "illuminate/filesystem": "^8 || ^9 || ^10", "illuminate/support": "^8 || ^9 || ^10", - "nikic/php-parser": "^4.7", + "nikic/php-parser": "^4.18 || ^5", "phpdocumentor/type-resolver": "^1.1.0" }, "require-dev": { diff --git a/src/UsesResolver.php b/src/UsesResolver.php index 205da9c6c..4900a129a 100644 --- a/src/UsesResolver.php +++ b/src/UsesResolver.php @@ -64,7 +64,7 @@ public function loadFromCode(string $classFQN, string $code): array '\\' ); - $parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7); + $parser = (new ParserFactory())->createForHostVersion(); $namespaceData = null; foreach ($parser->parse($code) as $node) {