-
-
Notifications
You must be signed in to change notification settings - Fork 943
Closed
Description
Bug report
As of 2.1.9 (2.1.10 is also affected) i get the following error when running PHPStan on this test code:
https://phpstan.org/r/4ef1477c-e976-41da-8169-30750a7c7e98
<?php
class Test
{
public function test(): void
{
/** @var stdClass $category */
echo $category->{''};
}
}
-- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Error
-- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Internal error: Identifier name cannot be empty while analysing file ...
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.yaml:
## phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php(28)
#0 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1606): PhpParser\Node\Identifier->__construct()
#1 [internal function]: PHPStan\Analyser\MutatingScope->PHPStan\Analyser\{closure}()
#2 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1606): array_map()
#3 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(554): PHPStan\Analyser\MutatingScope->resolveType()
#4 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1171): PHPStan\Analyser\MutatingScope->getType()
#5 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Reflection/InitializerExprTypeResolver.php(438): PHPStan\Analyser\MutatingScope->PHPStan\Analyser\{closure}()
#6 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1171): PHPStan\Reflection\InitializerExprTypeResolver->getArrayType()
#7 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(554): PHPStan\Analyser\MutatingScope->resolveType()
#8 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(768): PHPStan\Analyser\MutatingScope->getType()
#9 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(554): PHPStan\Analyser\MutatingScope->resolveType()
#10 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1849): PHPStan\Analyser\MutatingScope->getType()
#11 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(727): PHPStan\Analyser\NodeScopeResolver->findEarlyTerminatingExpr()
#12 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(456): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#13 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(955): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#14 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(456): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#15 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(653): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#16 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(456): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#17 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(793): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#18 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(456): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#19 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(760): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#20 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(404): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#21 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(175): PHPStan\Analyser\NodeScopeResolver->processNodes()
#22 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(136): PHPStan\Analyser\FileAnalyser->analyseFile()
#23 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111): PHPStan\Command\WorkerCommand::PHPStan\Command\{closure}()
#24 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_72d2f3b5b\Evenement\EventEmitter->emit()
#25 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111): _PHPStan_72d2f3b5b\Clue\React\NDJson\Decoder->handleData()
#26 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_72d2f3b5b\Evenement\EventEmitter->emit()
#27 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111): _PHPStan_72d2f3b5b\React\Stream\Util::_PHPStan_72d2f3b5b\React\Stream\{closure}()
#28 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(168): _PHPStan_72d2f3b5b\Evenement\EventEmitter->emit()
#29 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_72d2f3b5b\React\Stream\DuplexResourceStream->handleData()
#30 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173): _PHPStan_72d2f3b5b\React\EventLoop\StreamSelectLoop->waitForStreamActivity()
#31 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(96): _PHPStan_72d2f3b5b\React\EventLoop\StreamSelectLoop->run()
#32 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\WorkerCommand->execute()
#33 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870): _PHPStan_72d2f3b5b\Symfony\Component\Console\Command\Command->run()
#34 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_72d2f3b5b\Symfony\Component\Console\Application->doRunCommand()
#35 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157): _PHPStan_72d2f3b5b\Symfony\Component\Console\Application->doRun()
#36 phar:///vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(114): _PHPStan_72d2f3b5b\Symfony\Component\Console\Application->run()
#37 phar:///vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(115): _PHPStan_72d2f3b5b\{closure}()
#38 ./vendor/phpstan/phpstan/phpstan(8): require('...')
#39 ./vendor/bin/phpstan(119): include('...')
Code snippet that reproduces the problem
No response
Expected output
[OK] No errors like in 2.1.8
Did PHPStan help you today? Did it make you happy in any way?
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels