-
-
Notifications
You must be signed in to change notification settings - Fork 942
Closed
Description
Bug report
Starting with 1.12.5, I get this stack trace on a file that analyses at all levels without errors up to 1.12.4.
It only happens when analysing at levels 3 through 6. It analyses without errors at all other levels.
## phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Type/Constant/ConstantArrayTypeBuilder.php(153)
#0 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Type/Constant/ConstantArrayType.php(580):
PHPStan\Type\Constant\ConstantArrayTypeBuilder->setOffsetValueType(Object(PHPStan\Type\Constant\ConstantIntegerType), Object(PHPStan\Type\MixedType))
#1 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Rules/Arrays/OffsetAccessAssignmentRule.php(56):
PHPStan\Type\Constant\ConstantArrayType->setOffsetValueType(Object(PHPStan\Type\Constant\ConstantIntegerType), Object(PHPStan\Type\MixedType))
#2 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Rules/RuleLevelHelper.php(309):
PHPStan\Rules\Arrays\OffsetAccessAssignmentRule::PHPStan\Rules\Arrays\{closure}(Object(PHPStan\Type\Constant\ConstantIntegerType))
#3 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Rules/RuleLevelHelper.php(227):
PHPStan\Rules\RuleLevelHelper->findTypeToCheckImplementation(Object(PHPStan\Analyser\MutatingScope), Object(PhpParser\Node\Expr\Variable), Object(PHPStan\Type\UnionType), '', Object(Closure), true)
#4 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Rules/Arrays/OffsetAccessAssignmentRule.php(55):
PHPStan\Rules\RuleLevelHelper->findTypeToCheck(Object(PHPStan\Analyser\MutatingScope), Object(PhpParser\Node\Expr\Variable), '', Object(Closure))
#5 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(120):
PHPStan\Rules\Arrays\OffsetAccessAssignmentRule->processNode(Object(PhpParser\Node\Expr\ArrayDimFetch), Object(PHPStan\Analyser\MutatingScope))
#6 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(728):
PHPStan\Analyser\FileAnalyser->PHPStan\Analyser\{closure}(Object(PhpParser\Node\Expr\ArrayDimFetch), Object(PHPStan\Analyser\MutatingScope))
#7 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(3821):
PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser\{closure}(Object(PhpParser\Node\Expr\ArrayDimFetch), Object(PHPStan\Analyser\MutatingScope))
#8 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1834):
PHPStan\Analyser\NodeScopeResolver->processAssignVar(Object(PHPStan\Analyser\MutatingScope), Object(PhpParser\Node\Stmt\Expression), Object(PhpParser\Node\Expr\ArrayDimFetch),
Object(PhpParser\Node\Expr\ConstFetch), Object(Closure), Object(PHPStan\Analyser\ExpressionContext), Object(Closure), true)
#9 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(727):
PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Stmt\Expression), Object(PhpParser\Node\Expr\Assign), Object(PHPStan\Analyser\MutatingScope), Object(Closure),
Object(PHPStan\Analyser\ExpressionContext))
#10 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(464):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Expression), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#11 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(838): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\If_),
Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#12 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(429): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\If_),
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#13 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(179): PHPStan\Analyser\NodeScopeResolver->processNodes(Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#14 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(139): PHPStan\Analyser\FileAnalyser->analyseFile('C:\\xampp\\htdocs...', Array,
Object(PHPStan\Rules\LazyRegistry), Object(PHPStan\Collectors\Registry), NULL)
#15 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111): PHPStan\Command\WorkerCommand::PHPStan\Command\{closure}(Array)
#16 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_eb6a95a92\Evenement\EventEmitter->emit('data', Array)
#17 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111): _PHPStan_eb6a95a92\Clue\React\NDJson\Decoder->handleData(Array)
#18 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_eb6a95a92\Evenement\EventEmitter->emit('data', Array)
#19 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111):
_PHPStan_eb6a95a92\React\Stream\Util::_PHPStan_eb6a95a92\React\Stream\{closure}('{"action":"anal...')
#20 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(168): _PHPStan_eb6a95a92\Evenement\EventEmitter->emit('data', Array)
#21 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_eb6a95a92\React\Stream\DuplexResourceStream->handleData(Resource
id #6660)
#22 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173):
_PHPStan_eb6a95a92\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#23 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(99): _PHPStan_eb6a95a92\React\EventLoop\StreamSelectLoop->run()
#24 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259):
PHPStan\Command\WorkerCommand->execute(Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Output\ConsoleOutput))
#25 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870):
_PHPStan_eb6a95a92\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Output\ConsoleOutput))
#26 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261):
_PHPStan_eb6a95a92\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\WorkerCommand), Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Output\ConsoleOutput))
#27 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):
_PHPStan_eb6a95a92\Symfony\Component\Console\Application->doRun(Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_eb6a95a92\Symfony\Component\Console\Output\ConsoleOutput))
#28 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(127): _PHPStan_eb6a95a92\Symfony\Component\Console\Application->run()
#29 phar://C:/xampp/htdocs/test/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(128): _PHPStan_eb6a95a92\{closure}()
#30 C:\xampp\htdocs\test\vendor\phpstan\phpstan\phpstan(8): require('phar://C:/xampp...')
#31 C:\xampp\htdocs\test\vendor\bin\phpstan(119): include('C:\\xampp\\htdocs...')
#32 {main}
Code snippet that reproduces the problem
https://phpstan.org/r/8dafc8f3-97f7-4ec6-a6cc-319ef2a41ef6
Expected output
No internal error for code that was previously analysable, and is analysable at other levels.
Did PHPStan help you today? Did it make you happy in any way?
Release 1.12.6 contains the fix for the previous bug I reported.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels