Skip to content

Uncaught Error: Class 'Doctrine\ORM\Mapping\ClassMetadataFactory' not found #263

Closed
@cap-dev

Description

@cap-dev

PHPStan Version 1.4.2

We appear to have found an issues that was introduced via phpstan/phpstan-doctrine 1.2.1. Downgrading phpstan/phpstan-doctrine 1.2.0, the error is not presented and PHPStan completes successfully.

When attempting to run PHPStan we are presented with the the following:
Internal error: Class 'Doctrine\ORM\Mapping\ClassMetadataFactory' not found
Run PHPStan with --debug option and post the stack trace to:
https://github.com/phpstan/phpstan/issues/new?template=Bug_report.md

When doing as suggested, the following stack trace is provided:

/var/source/Module.php
Uncaught Error: Class 'Doctrine\ORM\Mapping\ClassMetadataFactory' not found in /root/.composer/vendor/phpstan/phpstan-doctrine/src/Doctrine/Mapping/ClassMetadataFactory.php:16
#0 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/vendor/composer/ClassLoader.php(571): include()
#1 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile('/root/.composer...')
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass('PHPStan\Doctrin...')
#3 /root/.composer/vendor/phpstan/phpstan-doctrine/src/Type/Doctrine/ObjectMetadataResolver.php(89): spl_autoload_call('PHPStan\Doctrin...')
#4 /root/.composer/vendor/phpstan/phpstan-doctrine/src/Type/Doctrine/ObjectMetadataResolver.php(71): PHPStan\Type\Doctrine\ObjectMetadataResolver->getMetadataFactory()
#5 /root/.composer/vendor/phpstan/phpstan-doctrine/src/Type/Doctrine/ObjectMetadataResolver.php(101): PHPStan\Type\Doctrine\ObjectMetadataResolver->isTransient('Cap\Logging\Mod...')
#6 /root/.composer/vendor/phpstan/phpstan-doctrine/src/Rules/Doctrine/ORM/PropertiesExtension.php(25): PHPStan\Type\Doctrine\ObjectMetadataResolver->getClassMetadata('Cap\Logging\Mod...')
#7 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Rules/DeadCode/UnusedPrivatePropertyRule.php(103): PHPStan\Rules\Doctrine\ORM\PropertiesExtension->isAlwaysRead(Object(PHPStan\Reflection\Php\PhpPropertyReflection), 'config')
#8 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(94): PHPStan\Rules\DeadCode\UnusedPrivatePropertyRule->processNode(Object(PHPStan\Node\ClassPropertiesNode), Object(PHPStan\Analyser\MutatingScope))
#9 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(545): PHPStan\Analyser\FileAnalyser->PHPStan\Analyser{closure}(Object(PHPStan\Node\ClassPropertiesNode), Object(PHPStan\Analyser\MutatingScope))
#10 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(298): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#11 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(510): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Namespace_), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#12 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(269): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace_), Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#13 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(181): PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#14 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/Analyser.php(69): PHPStan\Analyser\FileAnalyser->analyseFile('/var/source/Mod...', Array, Object(PHPStan\Rules\Registry), NULL)
#15 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyserRunner.php(62): PHPStan\Analyser\Analyser->analyse(Array, Object(Closure), NULL, true, Array)
#16 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(163): PHPStan\Command\AnalyserRunner->runAnalyser(Array, Array, Object(Closure), NULL, true, true, '/var/source/php...', NULL, NULL, Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Input\ArgvInput))
#17 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(95): PHPStan\Command\AnalyseApplication->runAnalyser(Array, Array, true, '/var/source/php...', Object(PHPStan\Command\Symfony\SymfonyOutput), Object(PHPStan\Command\Symfony\SymfonyOutput), Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Input\ArgvInput))
#18 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseCommand.php(175): PHPStan\Command\AnalyseApplication->analyse(Array, false, Object(PHPStan\Command\Symfony\SymfonyOutput), Object(PHPStan\Command\Symfony\SymfonyOutput), false, true, '/var/source/php...', Array, Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Input\ArgvInput))
#19 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\AnalyseCommand->execute(Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Output\ConsoleOutput))
#20 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(848): _PHPStan_70b6e53dc\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Output\ConsoleOutput))
#21 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(259): _PHPStan_70b6e53dc\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\AnalyseCommand), Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Output\ConsoleOutput))
#22 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157): _PHPStan_70b6e53dc\Symfony\Component\Console\Application->doRun(Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_70b6e53dc\Symfony\Component\Console\Output\ConsoleOutput))
#23 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(94): _PHPStan_70b6e53dc\Symfony\Component\Console\Application->run()
#24 phar:///root/.composer/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(95): _PHPStan_70b6e53dc{closure}()
#25 /root/.composer/vendor/phpstan/phpstan/phpstan(7): require('phar:///root/.c...')
#26 /root/.composer/vendor/bin/phpstan(102): include('/root/.composer...')
#27 {main}
ERROR: 1

Expected output

We would expect PHPStan to complete successfully but it does not, and produces the internal error documented above.

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