-
-
Notifications
You must be signed in to change notification settings - Fork 946
Closed
Description
Bug report
Version: 1.9.18
Internal error: Internal error: Internal error. in file Encoding.php
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.md:
#0 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1468):
PHPStan\Type\Php\StrCaseFunctionsReturnTypeExtension->getTypeFromFunctionCall(Object(PHPStan\Reflection\Native\NativeFunctionReflection), Object(PhpParser\Node\Expr\FuncCall),
Object(PHPStan\Analyser\MutatingScope))
#1 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(557): PHPStan\Analyser\MutatingScope->resolveType('\\mb_convert_kan...',
Object(PhpParser\Node\Expr\FuncCall))
#2 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(777): PHPStan\Analyser\MutatingScope->getType(Object(PhpParser\Node\Expr\FuncCall))
#3 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(557): PHPStan\Analyser\MutatingScope->resolveType('$dist = \\mb_con...',
Object(PhpParser\Node\Expr\Assign))
#4 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1446): PHPStan\Analyser\MutatingScope->getType(Object(PhpParser\Node\Expr\Assign))
#5 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(557):
PHPStan\Analyser\NodeScopeResolver->findEarlyTerminatingExpr(Object(PhpParser\Node\Expr\Assign), Object(PHPStan\Analyser\MutatingScope))
#6 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Expression), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#7 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(646):
PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\If_), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#8 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\If_), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#9 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(521):
PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\ClassMethod), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#10 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer),
Object(PHPStan\Analyser\StatementContext))
#11 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(599):
PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Class_), Array, Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer),
Object(PHPStan\Analyser\StatementContext))
#12 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#13 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(571):
PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Namespace_), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#14 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(327):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace_), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#15 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(175): PHPStan\Analyser\NodeScopeResolver->processNodes(Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#16 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(148): PHPStan\Analyser\FileAnalyser->analyseFile('/mnt/Dev/@phpmy...', Array,
Object(PHPStan\Rules\LazyRegistry), Object(PHPStan\Collectors\Registry), NULL)
#17 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):
PHPStan\Command\WorkerCommand->PHPStan\Command\{closure}(Array)
#18 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(110): _PHPStan_1f608dc6a\Evenement\EventEmitter->emit('data', Array)
#19 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):
_PHPStan_1f608dc6a\Clue\React\NDJson\Decoder->handleData(Array)
#20 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_1f608dc6a\Evenement\EventEmitter->emit('data', Array)
#21 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):
_PHPStan_1f608dc6a\React\Stream\Util::_PHPStan_1f608dc6a\React\Stream\{closure}('{"action":"anal...')
#22 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_1f608dc6a\Evenement\EventEmitter->emit('data', Array)
#23 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201):
_PHPStan_1f608dc6a\React\Stream\DuplexResourceStream->handleData(Resource id #13677)
#24 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173):
_PHPStan_1f608dc6a\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#25 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(108): _PHPStan_1f608dc6a\React\EventLoop\StreamSelectLoop->run()
#26 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259):
PHPStan\Command\WorkerCommand->execute(Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#27 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870):
_PHPStan_1f608dc6a\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#28 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261):
_PHPStan_1f608dc6a\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\WorkerCommand), Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#29 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):
_PHPStan_1f608dc6a\Symfony\Component\Console\Application->doRun(Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#30 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/bin/phpstan(124): _PHPStan_1f608dc6a\Symfony\Component\Console\Application->run()
#31 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/bin/phpstan(125): _PHPStan_1f608dc6a\{closure}()
#32 <<vendor-folder>>/phpstan/phpstan/phpstan(7): require('phar:///mnt/Dev...')
#33 <<vendor-folder>>/bin/phpstan(115): include('/mnt/Dev/@phpmy...')
#34 {main}
Internal error: Internal error: Internal error. in file /mnt/Dev/@phpmyadmin/phpMyAdmin-QA_5_2/test/classes/EncodingTest.php
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.md:
#0 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1468):
PHPStan\Type\Php\StrCaseFunctionsReturnTypeExtension->getTypeFromFunctionCall(Object(PHPStan\Reflection\Native\NativeFunctionReflection), Object(PhpParser\Node\Expr\FuncCall),
Object(PHPStan\Analyser\MutatingScope))
#1 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(557): PHPStan\Analyser\MutatingScope->resolveType('\\mb_convert_kan...',
Object(PhpParser\Node\Expr\FuncCall))
#2 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Rules/FunctionCallParametersCheck.php(114):
PHPStan\Analyser\MutatingScope->getType(Object(PhpParser\Node\Expr\FuncCall))
#3 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Rules/Methods/CallMethodsRule.php(48):
PHPStan\Rules\FunctionCallParametersCheck->check(Object(PHPStan\Reflection\ResolvedFunctionVariant), Object(PHPStan\Analyser\MutatingScope), false, Object(PhpParser\Node\Expr\MethodCall), Array)
#4 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(106):
PHPStan\Rules\Methods\CallMethodsRule->processNode(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope))
#5 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Node/ClassStatementsGatherer.php(98):
PHPStan\Analyser\FileAnalyser->PHPStan\Analyser\{closure}(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope))
#6 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(506):
PHPStan\Node\ClassStatementsGatherer->__invoke(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope))
#7 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(2478):
PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser\{closure}(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope))
#8 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1471):
PHPStan\Analyser\NodeScopeResolver->callNodeCallbackWithExpression(Object(Closure), Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Analyser\ExpressionContext))
#9 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(558):
PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#10 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Expression), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#11 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(521):
PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\ClassMethod), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#12 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer),
Object(PHPStan\Analyser\StatementContext))
#13 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(599):
PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Class_), Array, Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer),
Object(PHPStan\Analyser\StatementContext))
#14 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#15 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(571):
PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Namespace_), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#16 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(327):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace_), Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#17 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(175): PHPStan\Analyser\NodeScopeResolver->processNodes(Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#18 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(148): PHPStan\Analyser\FileAnalyser->analyseFile('/mnt/Dev/@phpmy...', Array,
Object(PHPStan\Rules\LazyRegistry), Object(PHPStan\Collectors\Registry), NULL)
#19 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):
PHPStan\Command\WorkerCommand->PHPStan\Command\{closure}(Array)
#20 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(110): _PHPStan_1f608dc6a\Evenement\EventEmitter->emit('data', Array)
#21 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):
_PHPStan_1f608dc6a\Clue\React\NDJson\Decoder->handleData(Array)
#22 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_1f608dc6a\Evenement\EventEmitter->emit('data', Array)
#23 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97):
_PHPStan_1f608dc6a\React\Stream\Util::_PHPStan_1f608dc6a\React\Stream\{closure}('{"action":"anal...')
#24 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_1f608dc6a\Evenement\EventEmitter->emit('data', Array)
#25 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201):
_PHPStan_1f608dc6a\React\Stream\DuplexResourceStream->handleData(Resource id #13677)
#26 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173):
_PHPStan_1f608dc6a\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#27 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(108): _PHPStan_1f608dc6a\React\EventLoop\StreamSelectLoop->run()
#28 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259):
PHPStan\Command\WorkerCommand->execute(Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#29 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870):
_PHPStan_1f608dc6a\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#30 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261):
_PHPStan_1f608dc6a\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\WorkerCommand), Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#31 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):
_PHPStan_1f608dc6a\Symfony\Component\Console\Application->doRun(Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_1f608dc6a\Symfony\Component\Console\Output\ConsoleOutput))
#32 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/bin/phpstan(124): _PHPStan_1f608dc6a\Symfony\Component\Console\Application->run()
#33 phar://<<vendor-folder>>/phpstan/phpstan/phpstan.phar/bin/phpstan(125): _PHPStan_1f608dc6a\{closure}()
#34 <<vendor-folder>>/phpstan/phpstan/phpstan(7): require('phar:///mnt/Dev...')
#35 <<vendor-folder>>/bin/phpstan(115): include('/mnt/Dev/@phpmy...')
#36 {main}
Child process error (exit code 1):
Child process error (exit code 1):
Code snippet that reproduces the problem
<?php
function kanjiStrConv(string $str, string $enc, string $kana): string
{
$string_encoding = mb_detect_encoding($str, self::$kanjiEncodings);
if ($kana === 'kana') {
$dist = mb_convert_kana($str, 'KV', $string_encoding);
}
if ($string_encoding != $enc && $enc != '') {
return mb_convert_encoding($str, $enc, $string_encoding);
}
return $str;
}Expected output
No error
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels