On analyzing our code base PHPStan throws an internal error since 0.12.55.
parameters:
tmpDir: ./.phpstan-tmp
paths:
- ./module
- ./lib/DcmnClient/src
- ./lib/FraunhoferClient/src
- ./public
- ./bin
level: max
inferPrivatePropertyTypeFromConstructor: true
checkMissingIterableValueType: false
ignoreErrors:
- '#Call to an undefined method Laminas\\InputFilter\\InputFilterInterface\|Laminas\\InputFilter\\InputInterface::[a-zA-Z]+\(\)#'
- '#Call to an undefined method Assert\\AssertionChain::[a-zA-Z0-9]+\(\)#'
...
/app/module/ApiCampaign/src/SpotScheduleController.php
Fatal error: Uncaught TypeError: Argument 1 passed to _HumbugBox9db2e91495d9\Nette\Utils\Strings::matchAll() must be of the type string, int given, called in phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/MutatingScope.php on line 1822 and defined in phar:///app/vendor/phpstan/phpstan/phpstan/vendor/nette/utils/src/Utils/Strings.php:409
Stack trace:
#0 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/MutatingScope.php(1822): _HumbugBox9db2e91495d9\Nette\Utils\Strings::matchAll(-1, '#^\\$([a-zA-Z_\\x...')
#1 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(1712): PHPStan\Analyser\MutatingScope->enterAnonymousFunction(Object(PhpParser\Node\Expr\Closure), Array)
#2 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(1863): PHPStan\Analyser\NodeScopeResolver->processClosureNode(Object(PhpParser\Node\Expr\Closure), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext), Object(PHPStan\Type\CallableType))
#3 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(1165): PHPStan\Analyser\NodeScopeResolver->processArgs(Object(PHPStan\Reflection\Native\NativeFunctionReflection), Object(PHPStan\Reflection\Generic\ResolvedFunctionVariant), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#4 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(1865): PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Expr\FuncCall), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#5 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(1268): PHPStan\Analyser\NodeScopeResolver->processArgs(Object(PHPStan\Reflection\ObjectTypeMethodReflection), Object(PHPStan\Reflection\Generic\ResolvedFunctionVariant), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#6 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(395): PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#7 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(232): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Expression), Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#8 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(365): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\ClassMethod), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#9 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(232): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer))
#10 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(437): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Class_), Array, Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer))
#11 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(232): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#12 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(406): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Namespace_), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#13 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(201): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace_), Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#14 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/FileAnalyser.php(148): PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#15 phar:///app/vendor/phpstan/phpstan/phpstan/src/Analyser/Analyser.php(52): PHPStan\Analyser\FileAnalyser->analyseFile('/app/module/Api...', Array, Object(PHPStan\Rules\Registry), NULL)
#16 phar:///app/vendor/phpstan/phpstan/phpstan/src/Command/AnalyserRunner.php(57): PHPStan\Analyser\Analyser->analyse(Array, Object(Closure), Object(Closure), true, Array)
#17 phar:///app/vendor/phpstan/phpstan/phpstan/src/Command/AnalyseApplication.php(143): PHPStan\Command\AnalyserRunner->runAnalyser(Array, Array, Object(Closure), Object(Closure), true, true, '/app/phpstan.ne...', NULL, NULL, Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Input\ArgvInput))
#18 phar:///app/vendor/phpstan/phpstan/phpstan/src/Command/AnalyseApplication.php(74): PHPStan\Command\AnalyseApplication->runAnalyser(Array, Array, true, '/app/phpstan.ne...', Object(PHPStan\Command\Symfony\SymfonyOutput), Object(PHPStan\Command\Symfony\SymfonyOutput), Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Input\ArgvInput))
#19 phar:///app/vendor/phpstan/phpstan/phpstan/src/Command/AnalyseCommand.php(148): PHPStan\Command\AnalyseApplication->analyse(Array, false, Object(PHPStan\Command\Symfony\SymfonyOutput), Object(PHPStan\Command\Symfony\SymfonyOutput), false, true, '/app/phpstan.ne...', Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Input\ArgvInput))
#20 phar:///app/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Command/Command.php(228): PHPStan\Command\AnalyseCommand->execute(Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Input\ArgvInput), Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Output\ConsoleOutput))
#21 phar:///app/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Application.php(856): _HumbugBox9db2e91495d9\Symfony\Component\Console\Command\Command->run(Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Input\ArgvInput), Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Output\ConsoleOutput))
#22 phar:///app/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Application.php(237): _HumbugBox9db2e91495d9\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\AnalyseCommand), Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Input\ArgvInput), Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Output\ConsoleOutput))
#23 phar:///app/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Application.php(138): _HumbugBox9db2e91495d9\Symfony\Component\Console\Application->doRun(Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Input\ArgvInput), Object(_HumbugBox9db2e91495d9\Symfony\Component\Console\Output\ConsoleOutput))
#24 phar:///app/vendor/phpstan/phpstan/phpstan/bin/phpstan(76): _HumbugBox9db2e91495d9\Symfony\Component\Console\Application->run()
#25 phar:///app/vendor/phpstan/phpstan/phpstan/bin/phpstan(77): _HumbugBox9db2e91495d9\{closure}()
#26 /app/vendor/phpstan/phpstan/phpstan(6): require('phar:///app/ven...')
#27 {main}
thrown in phar:///app/vendor/phpstan/phpstan/phpstan/vendor/nette/utils/src/Utils/Strings.php on line 409
No internal error should be thrown.
Bug report
On analyzing our code base PHPStan throws an internal error since 0.12.55.
Execute with
./vendor/bin/phpstan analyse --debug -vvvusing PHP-7.4.12 with Zend OPcache v7.4.12phpstan.neon.dist:
Error:
Code snippet that reproduces the problem
Sorry can't share the file here
Expected output
No internal error should be thrown.