We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Psalm 4.21 crashes due to an uncaught Throwable in DoctrineRepositoryHandler:
Uncaught RuntimeException: PHP Error: ReflectionClass::__construct(): Passing null to parameter #1 ($objectOrClass) of type object|string is deprecated in /var/www/html/vendor/psalm/plugin-symfony/src/Handler/DoctrineRepositoryHandler.php:48 in /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/ErrorHandler.php:66 Stack trace: #0 [internal function]: Psalm\Internal\ErrorHandler::Psalm\Internal\{closure}() #1 /var/www/html/vendor/psalm/plugin-symfony/src/Handler/DoctrineRepositoryHandler.php(48): ReflectionClass->__construct() #2 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/EventDispatcher.php(312): Psalm\SymfonyPsalmPlugin\Handler\DoctrineRepositoryHandler::afterMethodCallAnalysis() #3 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/Method/ExistingAtomicMethodCallAnalyzer.php(495): Psalm\Internal\EventDispatcher->dispatchAfterMethodCallAnalysis() #4 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/Method/AtomicMethodCallAnalyzer.php(467): Psalm\Internal\Analyzer\Statements\Expression\Call\Method\ExistingAtomicMethodCallAnalyzer::analyze() #5 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/MethodCallAnalyzer.php(185): Psalm\Internal\Analyzer\Statements\Expression\Call\Method\AtomicMethodCallAnalyzer::analyze() #6 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(186): Psalm\Internal\Analyzer\Statements\Expression\Call\MethodCallAnalyzer::analyze() #7 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(78): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression() #8 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/AssignmentAnalyzer.php(240): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze() #9 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(167): Psalm\Internal\Analyzer\Statements\Expression\AssignmentAnalyzer::analyze() #10 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(78): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression() #11 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(571): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze() #12 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(206): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement() #13 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FunctionLikeAnalyzer.php(473): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze() #14 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(1788): Psalm\Internal\Analyzer\FunctionLikeAnalyzer->analyze() #15 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(425): Psalm\Internal\Analyzer\ClassAnalyzer->analyzeClassMethod() #16 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FileAnalyzer.php(229): Psalm\Internal\Analyzer\ClassAnalyzer->analyze() #17 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(362): Psalm\Internal\Analyzer\FileAnalyzer->analyze() #18 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(619): Psalm\Internal\Codebase\Analyzer->Psalm\Internal\Codebase\{closure}() #19 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(291): Psalm\Internal\Codebase\Analyzer->doAnalysis() #20 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(1203): Psalm\Internal\Codebase\Analyzer->analyzeFiles() #21 /var/www/html/vendor/vimeo/psalm/src/Psalm/Internal/Cli/Psalm.php(375): Psalm\Internal\Analyzer\ProjectAnalyzer->checkPaths() #22 /var/www/html/vendor/vimeo/psalm/psalm(7): Psalm\Internal\Cli\Psalm::run() #23 /var/www/html/vendor/bin/psalm(107): include('...') #24 {main} (Psalm 4.21.0@d8bec4c7aaee111a532daec32fb09de5687053d1 crashed due to an uncaught Throwable)
This error can be fixed if you cast the $className to string here:
psalm-plugin-symfony/src/Handler/DoctrineRepositoryHandler.php
Line 48 in 44f9a69
My system: PHP 8.1.1 psalm/plugin-symfony 3.1.3 vimeo/psalm 4.21.0 doctrine/doctrine-bundle 2.5.6 doctrine/orm 2.11.1 symfony 6.0.4
The text was updated successfully, but these errors were encountered:
This happens to me when I use $entity::class notation instead of Entity::class or get_class($entity) in the getRepository method
$entity::class
Entity::class
get_class($entity)
getRepository
For example: This one throws the error
$repository = $this->em->getRepository($user::class);
These ones do not
$repository = $this->em->getRepository(get_class($user)); $repository = $this->em->getRepository(User::class);
Sorry, something went wrong.
fixed in https://github.com/psalm/psalm-plugin-symfony/releases/tag/v3.1.10
No branches or pull requests
Psalm 4.21 crashes due to an uncaught Throwable in DoctrineRepositoryHandler:
This error can be fixed if you cast the $className to string here:
psalm-plugin-symfony/src/Handler/DoctrineRepositoryHandler.php
Line 48 in 44f9a69
Or solve why $className is null in the first place..
My system:
PHP 8.1.1
psalm/plugin-symfony 3.1.3
vimeo/psalm 4.21.0
doctrine/doctrine-bundle 2.5.6
doctrine/orm 2.11.1
symfony 6.0.4
The text was updated successfully, but these errors were encountered: