-
Notifications
You must be signed in to change notification settings - Fork 696
Closed
Description
Hello,
I'm trying to run psalm via the official Docker php 8.2 cli image with some extensions enabled and I'm getting this result:
Target PHP version: 8.2 (inferred from current PHP version) Enabled extensions: redis.
Scanning files...
Uncaught Psalm\Exception\TypeParseTreeException: int-mask types must all be integer values in /application/vendor/vimeo/psalm/src/Psalm/Internal/Type/TypeParser.php:903
Stack trace:
#0 /application/vendor/vimeo/psalm/src/Psalm/Internal/Type/TypeParser.php(181): Psalm\Internal\Type\TypeParser::getTypeFromGenericTree(Object(Psalm\Internal\Type\ParseTree\GenericTree), Object(Psalm\Codebase), Array, Array, false)
#1 /application/vendor/vimeo/psalm/src/Psalm/Internal/Type/TypeParser.php(151): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\GenericTree), Object(Psalm\Codebase), NULL, Array, Array, false)
#2 /application/vendor/vimeo/psalm/src/Psalm/Type.php(81): Psalm\Internal\Type\TypeParser::parseTokens(Array, NULL, Array)
#3 /application/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/InternalCallMapHandler.php(283): Psalm\Type::parseString('int-mask<GLOB_M...')
#4 /application/vendor/vimeo/psalm/src/Psalm/Internal/PhpVisitor/Reflector/ExpressionScanner.php(110): Psalm\Internal\Codebase\InternalCallMapHandler::getCallablesFromCallMap('glob')
#5 /application/vendor/vimeo/psalm/src/Psalm/Internal/PhpVisitor/Reflector/ExpressionScanner.php(86): Psalm\Internal\PhpVisitor\Reflector\ExpressionScanner::registerClassMapFunctionCall(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), 'glob', Object(PhpParser\Node\Expr\FuncCall), Object(Psalm\Storage\MethodStorage), NULL)
#6 /application/vendor/vimeo/psalm/src/Psalm/Internal/PhpVisitor/ReflectorVisitor.php(318): Psalm\Internal\PhpVisitor\Reflector\ExpressionScanner::scan(Object(Psalm\Codebase), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Storage\FileStorage), Object(Psalm\Aliases), Object(PhpParser\Node\Expr\FuncCall), Object(Psalm\Storage\MethodStorage), NULL)
#7 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(123): Psalm\Internal\PhpVisitor\ReflectorVisitor->enterNode(Object(PhpParser\Node\Expr\FuncCall))
#8 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Foreach_))
#9 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#10 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\If_))
#11 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#12 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\ClassMethod))
#13 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#14 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_))
#15 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#16 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#17 /application/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(91): PhpParser\NodeTraverser->traverseArray(Array)
#18 /application/vendor/vimeo/psalm/src/Psalm/Internal/Scanner/FileScanner.php(79): PhpParser\NodeTraverser->traverse(Array)
#19 /application/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(554): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Progress\DefaultProgress))
#20 /application/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(782): Psalm\Internal\Codebase\Scanner->scanFile('/application/ve...', Array, true)
#21 /application/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(428): Psalm\Internal\Codebase\Scanner->scanAPath(120, '/application/ve...')
#22 /application/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(280): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#23 /application/vendor/vimeo/psalm/src/Psalm/Codebase.php(505): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes), 1)
#24 /application/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(1072): Psalm\Codebase->scanFiles(1)
#25 /application/vendor/vimeo/psalm/src/Psalm/Internal/Cli/Psalm.php(372): Psalm\Internal\Analyzer\ProjectAnalyzer->checkPaths(Array)
#26 /application/vendor/vimeo/psalm/psalm(9): Psalm\Internal\Cli\Psalm::run(Array)
#27 /application/vendor/bin/psalm(120): include('/application/ve...')
#28 {main}
(Psalm 5.13.0@a0a9c27630bcf8301ee78cb06741d2907d8c9fef crashed due to an uncaught Throwable)
I have a number of extensions enabled: igbinary, redis, xdebug, sodium, intl, iconv - however I don't see what exactly affects psalm. Running it locally without these enabled seems to work.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels