You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a project requires nikic/php-parser in version 4.0, deprecation-detector throws an error due to incompatibilities between php-parser 3 and 4. I don’t understand why the phar uses local vendor instead of embeded.
Here minimals commands to reproduce the error:
composer --no-interaction require symfony/http-kernel nikic/php-parser
wget https://github.com/sensiolabs-de/deprecation-detector/releases/download/0.1.0-alpha4/deprecation-detector.phar
mkdir src
echo'<?php declare(strict_types = 1);require __DIR__ . "/../vendor/autoload.php";class Kernel extends Symfony\Component\HttpKernel\Kernel{ public function registerBundles() { } public function registerContainerConfiguration() { }}new Kernel('dev', true);'> src/app.php
php deprecation-detector.phar
And the error message, take attention to php file paths:
Checking your application for deprecations - this could take a while ...
Loading RuleSet...
RuleSet loaded.
Parsing files & Searching for deprecations...
PHP Fatal error: Uncaught TypeError: Argument 3 passed to PhpParser\Node\Stmt\UseUse::__construct() must be of the type integer, array given, called in phar:///home/sanpi/tests/php/deprecation-detector.phar/vendor/nikic/php-parser/lib/PhpParser/Parser.php on line 1126 and defined in /home/sanpi/tests/php/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php:25
Stack trace:
#0 phar:///home/sanpi/tests/php/deprecation-detector.phar/vendor/nikic/php-parser/lib/PhpParser/Parser.php(1126): PhpParser\Node\Stmt\UseUse->__construct(Object(PhpParser\Node\Name), NULL, Array)
#1 phar:///home/sanpi/tests/php/deprecation-detector.phar/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php(242): PhpParser\Parser->reduceRule20()
#2 phar:///home/sanpi/tests/php/deprecation-detector.phar/src/Parser/UsageParser.php(69): PhpParser\ParserAbstract->parse('<?php\n\n/*\n * Th...')
#3 phar:///home/sanpi/tests/php/deprecation-detector.phar/src/TypeGuessing/AncestorResolver.php(187): SensioLabs\DeprecationDetector\Parser\UsageParser->parseFile( in /home/sanpi/tests/php/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php on line 25
The text was updated successfully, but these errors were encountered:
In a project requires
nikic/php-parser
in version 4.0,deprecation-detector
throws an error due to incompatibilities betweenphp-parser
3 and 4. I don’t understand why the phar uses local vendor instead of embeded.Here minimals commands to reproduce the error:
And the error message, take attention to php file paths:
The text was updated successfully, but these errors were encountered: