-
Notifications
You must be signed in to change notification settings - Fork 683
Closed
Labels
Description
The error occurs when running psalm on php 7.2.
The function preg_replace_callback return null, because it's called with the flags argument introduced in php 7.4
PHP Warning: preg_replace_callback() expects at most 5 parameters, 6 given in vendor/vimeo/psalm/src/Psalm/Internal/PhpVisitor/PartialParserVisitor.php on line 199
Uncaught TypeError: Argument 1 passed to PhpParser\ParserAbstract::parse() must be of the type string, null given, called in /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/PhpVisitor/PartialParserVisitor.php on line 209 and defined in /home/circleci/project/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php:154
Stack trace:
#0 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/PhpVisitor/PartialParserVisitor.php(209): PhpParser\ParserAbstract->parse(NULL, Object(PhpParser\ErrorHandler\Collecting))
#1 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/PhpTraverser/CustomTraverser.php(105): Psalm\Internal\PhpVisitor\PartialParserVisitor->enterNode(Object(PhpParser\Node\Stmt\ClassMethod), true)
#2 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/PhpTraverser/CustomTraverser.php(33): Psalm\Internal\PhpTraverser\CustomTraverser->traverseArray(Array)
#3 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/PhpTraverser/CustomTraverser.php(123): Psalm\Internal\PhpTraverser\CustomTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_))
#4 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/PhpTraverser/CustomTraverser.php(33): Psalm\Internal\PhpTraverser\CustomTraverser->traverseArray(Array)
#5 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/PhpTraverser/CustomTraverser.php(123): Psalm\Internal\PhpTraverser\CustomTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#6 /home/circleci/project/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(91): Psalm\Internal\PhpTraverser\CustomTraverser->traverseArray(Array)
#7 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Provider/StatementsProvider.php(423): PhpParser\NodeTraverser->traverse(Array)
#8 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Provider/StatementsProvider.php(184): Psalm\Internal\Provider\StatementsProvider::parseStatements('<?php\n\nnamespac...', '7.2', false, '/home/circleci/...', '<?php\n\nnamespac...', Array, Array)
#9 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Scanner/FileScanner.php(61): Psalm\Internal\Provider\StatementsProvider->getStatementsForFile('/home/circleci/...', '7.2', Object(Psalm\Progress\DefaultProgress))
#10 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(567): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Progress\DefaultProgress))
#11 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(322): Psalm\Internal\Codebase\Scanner->scanFile('/home/circleci/...', Array, true)
#12 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(437): Psalm\Internal\Codebase\Scanner->Psalm\Internal\Codebase\{closure}(21, '/home/circleci/...')
#13 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(286): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#14 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Codebase.php(470): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes), 11)
#15 /home/circleci/project/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(613): Psalm\Codebase->scanFiles(11)
#16 /home/circleci/project/vendor/vimeo/psalm/src/psalm.php(681): Psalm\Internal\Analyzer\ProjectAnalyzer->check('/home/circleci/...', true)
#17 /home/circleci/project/vendor/vimeo/psalm/psalm(2): require_once('/home/circleci/...')
#18 {main}
(Psalm 4.6.0@77feecb3707bd50378c21ae4d3fe9e320e6cea65 crashed due to an uncaught Throwable)
boesing and zerkms