staabm / phpstan-dba

PHPStan based SQL static analysis and type inference for the database access layer
https://staabm.github.io/archive.html#phpstan-dba
MIT License
250 stars 17 forks source link

Support wrapping a RecordingReflector in LazyQueryReflector #607

Closed staabm closed 1 year ago

staabm commented 1 year ago

Fixes

Uncaught staabm\PHPStanDba\DbaException: Unable to create datasource from staabm\PHPStanDba\QueryReflection\ReplayAndRecordingQueryReflector in C:\dvl\Workspace\kunzmann\vendor\staabm\phpstan-dba\src\QueryReflection\QueryReflection.php:621
#0 C:\dvl\Workspace\kunzmann\vendor\staabm\phpstan-dba\src\Rules\QueryPlanAnalyzerRule.php(132): staabm\PHPStanDba\QueryReflection\QueryReflection->analyzeQueryPlan()
#1 C:\dvl\Workspace\kunzmann\vendor\staabm\phpstan-dba\src\Rules\QueryPlanAnalyzerRule.php(92): staabm\PHPStanDba\Rules\QueryPlanAnalyzerRule->analyze()
#2 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(104): staabm\PHPStanDba\Rules\QueryPlanAnalyzerRule->processNode()
#3 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Node/ClassStatementsGatherer.php(98): PHPStan\Analyser\FileAnalyser->PHPStan\Analyser\{closure}()
#4 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(524): PHPStan\Node\ClassStatementsGatherer->__invoke()
#5 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(2602): PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser\{closure}()
#6 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1548): PHPStan\Analyser\NodeScopeResolver->callNodeCallbackWithExpression()
#7 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(579): PHPStan\Analyser\NodeScopeResolver->processExprNode()
#8 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(371): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#9 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(667): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#10 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(371): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#11 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(667): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#12 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(371): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#13 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(523): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#14 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(371): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#15 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(620): PHPStan\Analyser\NodeScopeResolver->processStmtNodes()
#16 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(340): PHPStan\Analyser\NodeScopeResolver->processStmtNode()
#17 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(173): PHPStan\Analyser\NodeScopeResolver->processNodes()
#18 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/Analyser.php(72): PHPStan\Analyser\FileAnalyser->analyseFile()
#19 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyserRunner.php(62): PHPStan\Analyser\Analyser->analyse()
#20 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(207): PHPStan\Command\AnalyserRunner->runAnalyser()
#21 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(100): PHPStan\Command\AnalyseApplication->runAnalyser()
#22 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseCommand.php(195): PHPStan\Command\AnalyseApplication->analyse()
#23 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\AnalyseCommand->execute()
#24 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870): _PHPStan_a540e44a3\Symfony\Component\Console\Command\Command->run()
#25 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_a540e44a3\Symfony\Component\Console\Application->doRunCommand()
#26 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157): _PHPStan_a540e44a3\Symfony\Component\Console\Application->doRun()
#27 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(122): _PHPStan_a540e44a3\Symfony\Component\Console\Application->run()
#28 phar://C:/dvl/Workspace/kunzmann/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(123): _PHPStan_a540e44a3\{closure}()
#29 C:\dvl\Workspace\kunzmann\vendor\phpstan\phpstan\phpstan(8): require('...')
#30 C:\dvl\Workspace\kunzmann\vendor\bin\phpstan(119): include('...')
#31 {main}