Skip to content

0.12.18 is broken #3186

@func0der

Description

@func0der

Bug report

php --version
PHP 7.4.4 (cli) (built: Mar 20 2020 14:24:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.4, Copyright (c), by Zend Technologies
    with Xdebug v2.9.3, Copyright (c) 2002-2020, by Derick Rethans
    with blackfire v1.33.0~linux-x64-non_zts74, https://blackfire.io, by Blackfire

PHPStan triggers an error on running analyze.

PHP Fatal error:  Uncaught Error: Call to undefined method PhpParser\Comment::getEndLine() in /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php:859
Stack trace:
#0 /var/www/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php(1272): PhpParser\ParserAbstract->createCommentNopAttributes()
#1 /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php(286): PhpParser\Parser\Php7->PhpParser\Parser\{closure}()
#2 /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php(160): PhpParser\ParserAbstract->doParse()
#3 phar:///var/www/vendor/phpstan/phpstan/phpstan/src/Parser/DirectParser.php(35): PhpParser\ParserAbstract->parse()
#4 phar:///var/www/vendor/phpstan/phpstan/phpstan/src/Parser/DirectParser.php(26): PHPStan\Parser\DirectParser->parseString()
#5 phar:///var/www/vendor/phpstan/phpstan/phpstan/src in /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php on line 859

Fatal error: Uncaught Error: Call to undefined method PhpParser\Comment::getEndLine() in /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php:859
Stack trace:
#0 /var/www/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php(1272): PhpParser\ParserAbstract->createCommentNopAttributes()
#1 /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php(286): PhpParser\Parser\Php7->PhpParser\Parser\{closure}()
#2 /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php(160): PhpParser\ParserAbstract->doParse()
#3 phar:///var/www/vendor/phpstan/phpstan/phpstan/src/Parser/DirectParser.php(35): PhpParser\ParserAbstract->parse()
#4 phar:///var/www/vendor/phpstan/phpstan/phpstan/src/Parser/DirectParser.php(26): PHPStan\Parser\DirectParser->parseString()
#5 phar:///var/www/vendor/phpstan/phpstan/phpstan/src in /var/www/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php on line 859

Code snippet that reproduces the problem

<?php

$foo = 'bar'; // bar

Expected output

No fatal PHPStan error.

The source of this problem seems to be, that PHPStan 0.12.18 is packing an older version nikic/php-parser. The comment line feature is earliest support in 4.4.0.

If you can, you should mark phpstan/phpstan 0.12.18 as broken or invalid or however it is called or remove the version completely from packagist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions