-
-
Notifications
You must be signed in to change notification settings - Fork 946
Closed
Description
Bug report
a wrong phpdoc returntype seem to trip phpstan, but only under certain conditions. i created a minimal setup to reproduce the error
tested version:
- PHPStan - PHP Static Analysis Tool 1.0.x-dev@fb3f83e
- PHPStan - PHP Static Analysis Tool 0.12.99
Code snippet that reproduces the problem
https://phpstan.org/r/ea2a617a-7b1d-43a9-9568-58f514a5aca5
Expected output
some kind of errors or description
Actual output
1/1 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
------ ----------------------------------------------------------------------
Line test.php
------ ----------------------------------------------------------------------
Internal error: 3 arguments are required, 2 given
Run PHPStan with --debug option and post the stack trace to:
https://github.com/phpstan/phpstan/issues/new?template=Bug_report.md
------ ----------------------------------------------------------------------
and with --debug
Uncaught ArgumentCountError: 3 arguments are required, 2 given in phar:///home/easteregg/src/phpstan/phpstan.phar/src/Rules/RuleLevelHelper.php:126
#0 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Rules/RuleLevelHelper.php(126): sprintf()
#1 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Rules/Arrays/NonexistentOffsetInArrayDimFetchRule.php(44): PHPStan\Rules\RuleLevelHelper->findTypeToCheck()
#2 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(69): PHPStan\Rules\Arrays\NonexistentOffsetInArrayDimFetchRule->processNode()
#3 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Node/ClassStatementsGatherer.php(91): PHPStan\Analyser\FileAnalyser->PHPStan\Analyser\{closure}()
#4 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(409): PHPStan\Node\ClassStatementsGatherer->__invoke()
#5 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(2524): PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser\{closure}()
#6 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1384): PHPStan\Analyser\NodeScopeResolver->processAssignVar()
#7 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(461): PHPStan\Analyser\NodeScopeResolver->processExprNode()
#8 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(259): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#9 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(424): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#10 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(259): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#11 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(508): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#12 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(227): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#13 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(149): PHPStan\Analyser\NodeScopeResolver->processNodes()
#14 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Analyser/Analyser.php(52): PHPStan\Analyser\FileAnalyser->analyseFile()
#15 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Command/AnalyserRunner.php(56): PHPStan\Analyser\Analyser->analyse()
#16 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(148): PHPStan\Command\AnalyserRunner->runAnalyser()
#17 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(79): PHPStan\Command\AnalyseApplication->runAnalyser()
#18 phar:///home/easteregg/src/phpstan/phpstan.phar/src/Command/AnalyseCommand.php(157): PHPStan\Command\AnalyseApplication->analyse()
#19 phar:///home/easteregg/src/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(228): PHPStan\Command\AnalyseCommand->execute()
#20 phar:///home/easteregg/src/phpstan/phpstan.phar/vendor/symfony/console/Application.php(856): _PHPStan_76800bfb5\Symfony\Component\Console\Command\Command->run()
#21 phar:///home/easteregg/src/phpstan/phpstan.phar/vendor/symfony/console/Application.php(237): _PHPStan_76800bfb5\Symfony\Component\Console\Application->doRunCommand()
#22 phar:///home/easteregg/src/phpstan/phpstan.phar/vendor/symfony/console/Application.php(138): _PHPStan_76800bfb5\Symfony\Component\Console\Application->doRun()
#23 phar:///home/easteregg/src/phpstan/phpstan.phar/bin/phpstan(82): _PHPStan_76800bfb5\Symfony\Component\Console\Application->run()
#24 phar:///home/easteregg/src/phpstan/phpstan.phar/bin/phpstan(83): _PHPStan_76800bfb5\{closure}()
#25 /home/easteregg/src/phpstan/phpstan(8): require('...')
#26 {main}
Did PHPStan help you today? Did it make you happy in any way?
yes! i really like this tool but i run in a lot of memory and parsing issues with a big codebase ( > 15k files )
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels