Skip to content

Problem on new versions (Psalm) #410

@farhadsakhaei

Description

@farhadsakhaei

Hi,
I updated the composer, On new versions I get this error when loading Psalm:
When I remove the line:

from psalm configuration, there isn't any problem

{"jsonrpc":"2.0","method":"window\/logMessage","params":{"type":1,"message":"InvalidArgumentException: Unrecognised parse tree type Psalm\\Internal\\Type\\ParseTree\\CallableParamTree in D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php:402\nStack trace:\n#0 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(1280): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableParamTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#1 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(263): Psalm\\Internal\\Type\\TypeParser::getTypeFromCallableTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableTree), Object(Psalm\\Codebase), Array, Array, true)\n#2 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(228): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#3 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(158): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableWithReturnTypeTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#4 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Analyzer\\CommentAnalyzer.php(165): Psalm\\Internal\\Type\\TypeParser::parseTokens(Array, NULL, Array, Array, true)\n#5 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Analyzer\\CommentAnalyzer.php(65): Psalm\\Internal\\Analyzer\\CommentAnalyzer::arrayToDocblocks(Object(PhpParser\\Comment\\Doc), Object(Psalm\\Internal\\Scanner\\ParsedDocblock), Object(Psalm\\Internal\\Scanner\\FileScanner), Object(Psalm\\Aliases), Array, Array)\n#6 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner.php(1592): Psalm\\Internal\\Analyzer\\CommentAnalyzer::getTypeFromComment(Object(PhpParser\\Comment\\Doc), Object(Psalm\\Internal\\Scanner\\FileScanner), Object(Psalm\\Aliases), Array, Array)\n#7 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner.php(765): Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner->visitPropertyDeclaration(Object(PhpParser\\Node\\Stmt\\Property), Object(Psalm\\Config), Object(Psalm\\Storage\\ClassLikeStorage), 'WP_Ability')\n#8 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\ReflectorVisitor.php(154): Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner->start(Object(PhpParser\\Node\\Stmt\\Class_))\n#9 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(196): Psalm\\Internal\\PhpVisitor\\ReflectorVisitor->enterNode(Object(PhpParser\\Node\\Stmt\\Class_))\n#10 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(98): PhpParser\\NodeTraverser->traverseArray(Array)\n#11 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(227): PhpParser\\NodeTraverser->traverseNode(Object(PhpParser\\Node\\Stmt\\Namespace_))\n#12 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(76): PhpParser\\NodeTraverser->traverseArray(Array)\n#13 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Scanner\\FileScanner.php(72): PhpParser\\NodeTraverser->traverse(Array)\n#14 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(460): Psalm\\Internal\\Scanner\\FileScanner->scan(Object(Psalm\\Codebase), Object(Psalm\\Storage\\FileStorage), false, Object(Psalm\\Internal\\LanguageServer\\Progress))\n#15 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(709): Psalm\\Internal\\Codebase\\Scanner->scanFile('D:\\\\LOCALSERVER\\\\...', Array, true)\n#16 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(359): Psalm\\Internal\\Codebase\\Scanner->scanAPath('D:\\\\LOCALSERVER\\\\...')\n#17 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(266): Psalm\\Internal\\Codebase\\Scanner->scanFilePaths(1)\n#18 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Codebase.php(444): Psalm\\Internal\\Codebase\\Scanner->scanFiles(Object(Psalm\\Internal\\Codebase\\ClassLikes), 1)\n#19 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Config.php(2414): Psalm\\Codebase->scanFiles()\n#20 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(381): Psalm\\Config->visitStubFiles(Object(Psalm\\Codebase), Object(Psalm\\Internal\\LanguageServer\\Progress))\n#21 D:\\LOCALSERVER\\composer\\vendor\\danog\\advanced-json-rpc\\lib\\Dispatcher.php(172): Psalm\\Internal\\LanguageServer\\LanguageServer->initialize(Object(LanguageServerProtocol\\ClientCapabilities), Object(LanguageServerProtocol\\ClientInfo), 'file:\/\/\/d:\/LOCA...', 'verbose', '6e53ba2b-5667-4...')\n#22 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(165): AdvancedJsonRpc\\Dispatcher->dispatch(Object(AdvancedJsonRpc\\Request))\n#23 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\EmitterTrait.php(89): Psalm\\Internal\\LanguageServer\\LanguageServer->{closure:Psalm\\Internal\\LanguageServer\\LanguageServer::__construct():151}(Object(Psalm\\Internal\\LanguageServer\\Message))\n#24 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\ProtocolStreamReader.php(111): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->emit('message', Array)\n#25 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\ProtocolStreamReader.php(57): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->readMessages('Content-Length:...')\n#26 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(430): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->{closure:Psalm\\Internal\\LanguageServer\\ProtocolStreamReader::__construct():49}()\n#27 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(567): Revolt\\EventLoop\\Internal\\AbstractDriver->invokeMicrotasks()\n#28 [internal function]: Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::createCallbackFiber():565}()\n#29 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(503): Fiber->start()\n#30 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(542): Revolt\\EventLoop\\Internal\\AbstractDriver->invokeCallbacks()\n#31 [internal function]: Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::createLoopFiber():538}()\n#32 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(96): Fiber->start()\n#33 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(116): Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::__construct():90}()\n#34 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop.php(406): Revolt\\EventLoop\\Internal\\AbstractDriver->run()\n#35 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(297): Revolt\\EventLoop::run()\n#36 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Cli\\LanguageServer.php(425): Psalm\\Internal\\LanguageServer\\LanguageServer::run(Object(Psalm\\Config), Object(Psalm\\Internal\\LanguageServer\\ClientConfiguration), 'D:\\\\LOCALSERVER\\\\...', Object(Psalm\\Internal\\LanguageServer\\PathMapper), false)\n#37 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\psalm-language-server(9): Psalm\\Internal\\Cli\\LanguageServer::run(Array)\n#38 D:\\LOCALSERVER\\composer\\vendor\\bin\\psalm-language-server(119): include('D:\\\\LOCALSERVER\\\\...')\n#39 {main}"}}

[Trace - 2:18:36 PM] Received notification 'window/logMessage'.
Params: {
    "type": 1,
    "message": "InvalidArgumentException: Unrecognised parse tree type Psalm\\Internal\\Type\\ParseTree\\CallableParamTree in D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php:402\nStack trace:\n#0 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(1280): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableParamTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#1 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(263): Psalm\\Internal\\Type\\TypeParser::getTypeFromCallableTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableTree), Object(Psalm\\Codebase), Array, Array, true)\n#2 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(228): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#3 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(158): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableWithReturnTypeTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#4 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Analyzer\\CommentAnalyzer.php(165): Psalm\\Internal\\Type\\TypeParser::parseTokens(Array, NULL, Array, Array, true)\n#5 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Analyzer\\CommentAnalyzer.php(65): Psalm\\Internal\\Analyzer\\CommentAnalyzer::arrayToDocblocks(Object(PhpParser\\Comment\\Doc), Object(Psalm\\Internal\\Scanner\\ParsedDocblock), Object(Psalm\\Internal\\Scanner\\FileScanner), Object(Psalm\\Aliases), Array, Array)\n#6 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner.php(1592): Psalm\\Internal\\Analyzer\\CommentAnalyzer::getTypeFromComment(Object(PhpParser\\Comment\\Doc), Object(Psalm\\Internal\\Scanner\\FileScanner), Object(Psalm\\Aliases), Array, Array)\n#7 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner.php(765): Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner->visitPropertyDeclaration(Object(PhpParser\\Node\\Stmt\\Property), Object(Psalm\\Config), Object(Psalm\\Storage\\ClassLikeStorage), 'WP_Ability')\n#8 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\ReflectorVisitor.php(154): Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner->start(Object(PhpParser\\Node\\Stmt\\Class_))\n#9 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(196): Psalm\\Internal\\PhpVisitor\\ReflectorVisitor->enterNode(Object(PhpParser\\Node\\Stmt\\Class_))\n#10 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(98): PhpParser\\NodeTraverser->traverseArray(Array)\n#11 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(227): PhpParser\\NodeTraverser->traverseNode(Object(PhpParser\\Node\\Stmt\\Namespace_))\n#12 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(76): PhpParser\\NodeTraverser->traverseArray(Array)\n#13 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Scanner\\FileScanner.php(72): PhpParser\\NodeTraverser->traverse(Array)\n#14 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(460): Psalm\\Internal\\Scanner\\FileScanner->scan(Object(Psalm\\Codebase), Object(Psalm\\Storage\\FileStorage), false, Object(Psalm\\Internal\\LanguageServer\\Progress))\n#15 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(709): Psalm\\Internal\\Codebase\\Scanner->scanFile('D:\\\\LOCALSERVER\\\\...', Array, true)\n#16 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(359): Psalm\\Internal\\Codebase\\Scanner->scanAPath('D:\\\\LOCALSERVER\\\\...')\n#17 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(266): Psalm\\Internal\\Codebase\\Scanner->scanFilePaths(1)\n#18 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Codebase.php(444): Psalm\\Internal\\Codebase\\Scanner->scanFiles(Object(Psalm\\Internal\\Codebase\\ClassLikes), 1)\n#19 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Config.php(2414): Psalm\\Codebase->scanFiles()\n#20 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(381): Psalm\\Config->visitStubFiles(Object(Psalm\\Codebase), Object(Psalm\\Internal\\LanguageServer\\Progress))\n#21 D:\\LOCALSERVER\\composer\\vendor\\danog\\advanced-json-rpc\\lib\\Dispatcher.php(172): Psalm\\Internal\\LanguageServer\\LanguageServer->initialize(Object(LanguageServerProtocol\\ClientCapabilities), Object(LanguageServerProtocol\\ClientInfo), 'file:///d:/LOCA...', 'verbose', '6e53ba2b-5667-4...')\n#22 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(165): AdvancedJsonRpc\\Dispatcher->dispatch(Object(AdvancedJsonRpc\\Request))\n#23 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\EmitterTrait.php(89): Psalm\\Internal\\LanguageServer\\LanguageServer->{closure:Psalm\\Internal\\LanguageServer\\LanguageServer::__construct():151}(Object(Psalm\\Internal\\LanguageServer\\Message))\n#24 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\ProtocolStreamReader.php(111): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->emit('message', Array)\n#25 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\ProtocolStreamReader.php(57): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->readMessages('Content-Length:...')\n#26 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(430): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->{closure:Psalm\\Internal\\LanguageServer\\ProtocolStreamReader::__construct():49}()\n#27 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(567): Revolt\\EventLoop\\Internal\\AbstractDriver->invokeMicrotasks()\n#28 [internal function]: Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::createCallbackFiber():565}()\n#29 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(503): Fiber->start()\n#30 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(542): Revolt\\EventLoop\\Internal\\AbstractDriver->invokeCallbacks()\n#31 [internal function]: Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::createLoopFiber():538}()\n#32 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(96): Fiber->start()\n#33 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(116): Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::__construct():90}()\n#34 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop.php(406): Revolt\\EventLoop\\Internal\\AbstractDriver->run()\n#35 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(297): Revolt\\EventLoop::run()\n#36 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Cli\\LanguageServer.php(425): Psalm\\Internal\\LanguageServer\\LanguageServer::run(Object(Psalm\\Config), Object(Psalm\\Internal\\LanguageServer\\ClientConfiguration), 'D:\\\\LOCALSERVER\\\\...', Object(Psalm\\Internal\\LanguageServer\\PathMapper), false)\n#37 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\psalm-language-server(9): Psalm\\Internal\\Cli\\LanguageServer::run(Array)\n#38 D:\\LOCALSERVER\\composer\\vendor\\bin\\psalm-language-server(119): include('D:\\\\LOCALSERVER\\\\...')\n#39 {main}"
}


[Error - 2:18:36 PM] InvalidArgumentException: Unrecognised parse tree type Psalm\Internal\Type\ParseTree\CallableParamTree in D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php:402
Stack trace:
#0 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(1280): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableParamTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#1 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(263): Psalm\Internal\Type\TypeParser::getTypeFromCallableTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), Array, Array, true)
#2 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(228): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#3 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(158): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableWithReturnTypeTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#4 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(165): Psalm\Internal\Type\TypeParser::parseTokens(Array, NULL, Array, Array, true)
#5 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(65): Psalm\Internal\Analyzer\CommentAnalyzer::arrayToDocblocks(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\ParsedDocblock), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#6 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(1592): Psalm\Internal\Analyzer\CommentAnalyzer::getTypeFromComment(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#7 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(765): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->visitPropertyDeclaration(Object(PhpParser\Node\Stmt\Property), Object(Psalm\Config), Object(Psalm\Storage\ClassLikeStorage), 'WP_Ability')
#8 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\ReflectorVisitor.php(154): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->start(Object(PhpParser\Node\Stmt\Class_))
#9 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(196): Psalm\Internal\PhpVisitor\ReflectorVisitor->enterNode(Object(PhpParser\Node\Stmt\Class_))
#10 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(98): PhpParser\NodeTraverser->traverseArray(Array)
#11 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(227): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#12 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(76): PhpParser\NodeTraverser->traverseArray(Array)
#13 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Scanner\FileScanner.php(72): PhpParser\NodeTraverser->traverse(Array)
#14 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(460): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Internal\LanguageServer\Progress))
#15 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(709): Psalm\Internal\Codebase\Scanner->scanFile('D:\\LOCALSERVER\\...', Array, true)
#16 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(359): Psalm\Internal\Codebase\Scanner->scanAPath('D:\\LOCALSERVER\\...')
#17 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(266): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#18 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Codebase.php(444): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes), 1)
#19 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Config.php(2414): Psalm\Codebase->scanFiles()
#20 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(381): Psalm\Config->visitStubFiles(Object(Psalm\Codebase), Object(Psalm\Internal\LanguageServer\Progress))
#21 D:\LOCALSERVER\composer\vendor\danog\advanced-json-rpc\lib\Dispatcher.php(172): Psalm\Internal\LanguageServer\LanguageServer->initialize(Object(LanguageServerProtocol\ClientCapabilities), Object(LanguageServerProtocol\ClientInfo), 'file:///d:/LOCA...', 'verbose', '6e53ba2b-5667-4...')
#22 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(165): AdvancedJsonRpc\Dispatcher->dispatch(Object(AdvancedJsonRpc\Request))
#23 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\EmitterTrait.php(89): Psalm\Internal\LanguageServer\LanguageServer->{closure:Psalm\Internal\LanguageServer\LanguageServer::__construct():151}(Object(Psalm\Internal\LanguageServer\Message))
#24 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(111): Psalm\Internal\LanguageServer\ProtocolStreamReader->emit('message', Array)
#25 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(57): Psalm\Internal\LanguageServer\ProtocolStreamReader->readMessages('Content-Length:...')
#26 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(430): Psalm\Internal\LanguageServer\ProtocolStreamReader->{closure:Psalm\Internal\LanguageServer\ProtocolStreamReader::__construct():49}()
#27 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(567): Revolt\EventLoop\Internal\AbstractDriver->invokeMicrotasks()
#28 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createCallbackFiber():565}()
#29 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(503): Fiber->start()
#30 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(542): Revolt\EventLoop\Internal\AbstractDriver->invokeCallbacks()
#31 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createLoopFiber():538}()
#32 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(96): Fiber->start()
#33 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(116): Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::__construct():90}()
#34 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop.php(406): Revolt\EventLoop\Internal\AbstractDriver->run()
#35 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(297): Revolt\EventLoop::run()
#36 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Cli\LanguageServer.php(425): Psalm\Internal\LanguageServer\LanguageServer::run(Object(Psalm\Config), Object(Psalm\Internal\LanguageServer\ClientConfiguration), 'D:\\LOCALSERVER\\...', Object(Psalm\Internal\LanguageServer\PathMapper), false)
#37 D:\LOCALSERVER\composer\vendor\vimeo\psalm\psalm-language-server(9): Psalm\Internal\Cli\LanguageServer::run(Array)
#38 D:\LOCALSERVER\composer\vendor\bin\psalm-language-server(119): include('D:\\LOCALSERVER\\...')
#39 {main}
[DEBUG  - 2:18:36 PM] SERVER ==> Content-Type: application/vscode-jsonrpc; charset=utf8
Content-Length: 8318

{"jsonrpc":"2.0","id":0,"error":{"message":"InvalidArgumentException: Unrecognised parse tree type Psalm\\Internal\\Type\\ParseTree\\CallableParamTree in D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php:402\nStack trace:\n#0 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(1280): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableParamTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#1 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(263): Psalm\\Internal\\Type\\TypeParser::getTypeFromCallableTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableTree), Object(Psalm\\Codebase), Array, Array, true)\n#2 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(228): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#3 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Type\\TypeParser.php(158): Psalm\\Internal\\Type\\TypeParser::getTypeFromTree(Object(Psalm\\Internal\\Type\\ParseTree\\CallableWithReturnTypeTree), Object(Psalm\\Codebase), NULL, Array, Array, true)\n#4 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Analyzer\\CommentAnalyzer.php(165): Psalm\\Internal\\Type\\TypeParser::parseTokens(Array, NULL, Array, Array, true)\n#5 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Analyzer\\CommentAnalyzer.php(65): Psalm\\Internal\\Analyzer\\CommentAnalyzer::arrayToDocblocks(Object(PhpParser\\Comment\\Doc), Object(Psalm\\Internal\\Scanner\\ParsedDocblock), Object(Psalm\\Internal\\Scanner\\FileScanner), Object(Psalm\\Aliases), Array, Array)\n#6 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner.php(1592): Psalm\\Internal\\Analyzer\\CommentAnalyzer::getTypeFromComment(Object(PhpParser\\Comment\\Doc), Object(Psalm\\Internal\\Scanner\\FileScanner), Object(Psalm\\Aliases), Array, Array)\n#7 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner.php(765): Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner->visitPropertyDeclaration(Object(PhpParser\\Node\\Stmt\\Property), Object(Psalm\\Config), Object(Psalm\\Storage\\ClassLikeStorage), 'WP_Ability')\n#8 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\PhpVisitor\\ReflectorVisitor.php(154): Psalm\\Internal\\PhpVisitor\\Reflector\\ClassLikeNodeScanner->start(Object(PhpParser\\Node\\Stmt\\Class_))\n#9 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(196): Psalm\\Internal\\PhpVisitor\\ReflectorVisitor->enterNode(Object(PhpParser\\Node\\Stmt\\Class_))\n#10 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(98): PhpParser\\NodeTraverser->traverseArray(Array)\n#11 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(227): PhpParser\\NodeTraverser->traverseNode(Object(PhpParser\\Node\\Stmt\\Namespace_))\n#12 D:\\LOCALSERVER\\composer\\vendor\\nikic\\php-parser\\lib\\PhpParser\\NodeTraverser.php(76): PhpParser\\NodeTraverser->traverseArray(Array)\n#13 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Scanner\\FileScanner.php(72): PhpParser\\NodeTraverser->traverse(Array)\n#14 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(460): Psalm\\Internal\\Scanner\\FileScanner->scan(Object(Psalm\\Codebase), Object(Psalm\\Storage\\FileStorage), false, Object(Psalm\\Internal\\LanguageServer\\Progress))\n#15 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(709): Psalm\\Internal\\Codebase\\Scanner->scanFile('D:\\\\LOCALSERVER\\\\...', Array, true)\n#16 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(359): Psalm\\Internal\\Codebase\\Scanner->scanAPath('D:\\\\LOCALSERVER\\\\...')\n#17 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Codebase\\Scanner.php(266): Psalm\\Internal\\Codebase\\Scanner->scanFilePaths(1)\n#18 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Codebase.php(444): Psalm\\Internal\\Codebase\\Scanner->scanFiles(Object(Psalm\\Internal\\Codebase\\ClassLikes), 1)\n#19 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Config.php(2414): Psalm\\Codebase->scanFiles()\n#20 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(381): Psalm\\Config->visitStubFiles(Object(Psalm\\Codebase), Object(Psalm\\Internal\\LanguageServer\\Progress))\n#21 D:\\LOCALSERVER\\composer\\vendor\\danog\\advanced-json-rpc\\lib\\Dispatcher.php(172): Psalm\\Internal\\LanguageServer\\LanguageServer->initialize(Object(LanguageServerProtocol\\ClientCapabilities), Object(LanguageServerProtocol\\ClientInfo), 'file:\/\/\/d:\/LOCA...', 'verbose', '6e53ba2b-5667-4...')\n#22 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(165): AdvancedJsonRpc\\Dispatcher->dispatch(Object(AdvancedJsonRpc\\Request))\n#23 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\EmitterTrait.php(89): Psalm\\Internal\\LanguageServer\\LanguageServer->{closure:Psalm\\Internal\\LanguageServer\\LanguageServer::__construct():151}(Object(Psalm\\Internal\\LanguageServer\\Message))\n#24 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\ProtocolStreamReader.php(111): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->emit('message', Array)\n#25 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\ProtocolStreamReader.php(57): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->readMessages('Content-Length:...')\n#26 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(430): Psalm\\Internal\\LanguageServer\\ProtocolStreamReader->{closure:Psalm\\Internal\\LanguageServer\\ProtocolStreamReader::__construct():49}()\n#27 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(567): Revolt\\EventLoop\\Internal\\AbstractDriver->invokeMicrotasks()\n#28 [internal function]: Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::createCallbackFiber():565}()\n#29 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(503): Fiber->start()\n#30 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(542): Revolt\\EventLoop\\Internal\\AbstractDriver->invokeCallbacks()\n#31 [internal function]: Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::createLoopFiber():538}()\n#32 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(96): Fiber->start()\n#33 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop\\Internal\\AbstractDriver.php(116): Revolt\\EventLoop\\Internal\\AbstractDriver->{closure:Revolt\\EventLoop\\Internal\\AbstractDriver::__construct():90}()\n#34 D:\\LOCALSERVER\\composer\\vendor\\revolt\\event-loop\\src\\EventLoop.php(406): Revolt\\EventLoop\\Internal\\AbstractDriver->run()\n#35 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\LanguageServer\\LanguageServer.php(297): Revolt\\EventLoop::run()\n#36 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\src\\Psalm\\Internal\\Cli\\LanguageServer.php(425): Psalm\\Internal\\LanguageServer\\LanguageServer::run(Object(Psalm\\Config), Object(Psalm\\Internal\\LanguageServer\\ClientConfiguration), 'D:\\\\LOCALSERVER\\\\...', Object(Psalm\\Internal\\LanguageServer\\PathMapper), false)\n#37 D:\\LOCALSERVER\\composer\\vendor\\vimeo\\psalm\\psalm-language-server(9): Psalm\\Internal\\Cli\\LanguageServer::run(Array)\n#38 D:\\LOCALSERVER\\composer\\vendor\\bin\\psalm-language-server(119): include('D:\\\\LOCALSERVER\\\\...')\n#39 {main}","code":-32603,"data":null}}

[Trace - 2:18:36 PM] Received response 'initialize - (0)' in 40574ms. Request failed: InvalidArgumentException: Unrecognised parse tree type Psalm\Internal\Type\ParseTree\CallableParamTree in D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php:402
Stack trace:
#0 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(1280): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableParamTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#1 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(263): Psalm\Internal\Type\TypeParser::getTypeFromCallableTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), Array, Array, true)
#2 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(228): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#3 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(158): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableWithReturnTypeTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#4 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(165): Psalm\Internal\Type\TypeParser::parseTokens(Array, NULL, Array, Array, true)
#5 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(65): Psalm\Internal\Analyzer\CommentAnalyzer::arrayToDocblocks(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\ParsedDocblock), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#6 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(1592): Psalm\Internal\Analyzer\CommentAnalyzer::getTypeFromComment(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#7 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(765): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->visitPropertyDeclaration(Object(PhpParser\Node\Stmt\Property), Object(Psalm\Config), Object(Psalm\Storage\ClassLikeStorage), 'WP_Ability')
#8 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\ReflectorVisitor.php(154): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->start(Object(PhpParser\Node\Stmt\Class_))
#9 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(196): Psalm\Internal\PhpVisitor\ReflectorVisitor->enterNode(Object(PhpParser\Node\Stmt\Class_))
#10 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(98): PhpParser\NodeTraverser->traverseArray(Array)
#11 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(227): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#12 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(76): PhpParser\NodeTraverser->traverseArray(Array)
#13 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Scanner\FileScanner.php(72): PhpParser\NodeTraverser->traverse(Array)
#14 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(460): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Internal\LanguageServer\Progress))
#15 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(709): Psalm\Internal\Codebase\Scanner->scanFile('D:\\LOCALSERVER\\...', Array, true)
#16 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(359): Psalm\Internal\Codebase\Scanner->scanAPath('D:\\LOCALSERVER\\...')
#17 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(266): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#18 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Codebase.php(444): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes), 1)
#19 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Config.php(2414): Psalm\Codebase->scanFiles()
#20 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(381): Psalm\Config->visitStubFiles(Object(Psalm\Codebase), Object(Psalm\Internal\LanguageServer\Progress))
#21 D:\LOCALSERVER\composer\vendor\danog\advanced-json-rpc\lib\Dispatcher.php(172): Psalm\Internal\LanguageServer\LanguageServer->initialize(Object(LanguageServerProtocol\ClientCapabilities), Object(LanguageServerProtocol\ClientInfo), 'file:///d:/LOCA...', 'verbose', '6e53ba2b-5667-4...')
#22 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(165): AdvancedJsonRpc\Dispatcher->dispatch(Object(AdvancedJsonRpc\Request))
#23 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\EmitterTrait.php(89): Psalm\Internal\LanguageServer\LanguageServer->{closure:Psalm\Internal\LanguageServer\LanguageServer::__construct():151}(Object(Psalm\Internal\LanguageServer\Message))
#24 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(111): Psalm\Internal\LanguageServer\ProtocolStreamReader->emit('message', Array)
#25 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(57): Psalm\Internal\LanguageServer\ProtocolStreamReader->readMessages('Content-Length:...')
#26 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(430): Psalm\Internal\LanguageServer\ProtocolStreamReader->{closure:Psalm\Internal\LanguageServer\ProtocolStreamReader::__construct():49}()
#27 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(567): Revolt\EventLoop\Internal\AbstractDriver->invokeMicrotasks()
#28 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createCallbackFiber():565}()
#29 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(503): Fiber->start()
#30 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(542): Revolt\EventLoop\Internal\AbstractDriver->invokeCallbacks()
#31 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createLoopFiber():538}()
#32 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(96): Fiber->start()
#33 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(116): Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::__construct():90}()
#34 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop.php(406): Revolt\EventLoop\Internal\AbstractDriver->run()
#35 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(297): Revolt\EventLoop::run()
#36 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Cli\LanguageServer.php(425): Psalm\Internal\LanguageServer\LanguageServer::run(Object(Psalm\Config), Object(Psalm\Internal\LanguageServer\ClientConfiguration), 'D:\\LOCALSERVER\\...', Object(Psalm\Internal\LanguageServer\PathMapper), false)
#37 D:\LOCALSERVER\composer\vendor\vimeo\psalm\psalm-language-server(9): Psalm\Internal\Cli\LanguageServer::run(Array)
#38 D:\LOCALSERVER\composer\vendor\bin\psalm-language-server(119): include('D:\\LOCALSERVER\\...')
#39 {main} (-32603).
[Error - 2:18:36 PM] Server initialization failed.
  Message: InvalidArgumentException: Unrecognised parse tree type Psalm\Internal\Type\ParseTree\CallableParamTree in D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php:402
Stack trace:
#0 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(1280): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableParamTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#1 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(263): Psalm\Internal\Type\TypeParser::getTypeFromCallableTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), Array, Array, true)
#2 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(228): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#3 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(158): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableWithReturnTypeTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#4 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(165): Psalm\Internal\Type\TypeParser::parseTokens(Array, NULL, Array, Array, true)
#5 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(65): Psalm\Internal\Analyzer\CommentAnalyzer::arrayToDocblocks(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\ParsedDocblock), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#6 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(1592): Psalm\Internal\Analyzer\CommentAnalyzer::getTypeFromComment(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#7 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(765): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->visitPropertyDeclaration(Object(PhpParser\Node\Stmt\Property), Object(Psalm\Config), Object(Psalm\Storage\ClassLikeStorage), 'WP_Ability')
#8 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\ReflectorVisitor.php(154): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->start(Object(PhpParser\Node\Stmt\Class_))
#9 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(196): Psalm\Internal\PhpVisitor\ReflectorVisitor->enterNode(Object(PhpParser\Node\Stmt\Class_))
#10 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(98): PhpParser\NodeTraverser->traverseArray(Array)
#11 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(227): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#12 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(76): PhpParser\NodeTraverser->traverseArray(Array)
#13 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Scanner\FileScanner.php(72): PhpParser\NodeTraverser->traverse(Array)
#14 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(460): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Internal\LanguageServer\Progress))
#15 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(709): Psalm\Internal\Codebase\Scanner->scanFile('D:\\LOCALSERVER\\...', Array, true)
#16 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(359): Psalm\Internal\Codebase\Scanner->scanAPath('D:\\LOCALSERVER\\...')
#17 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(266): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#18 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Codebase.php(444): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes), 1)
#19 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Config.php(2414): Psalm\Codebase->scanFiles()
#20 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(381): Psalm\Config->visitStubFiles(Object(Psalm\Codebase), Object(Psalm\Internal\LanguageServer\Progress))
#21 D:\LOCALSERVER\composer\vendor\danog\advanced-json-rpc\lib\Dispatcher.php(172): Psalm\Internal\LanguageServer\LanguageServer->initialize(Object(LanguageServerProtocol\ClientCapabilities), Object(LanguageServerProtocol\ClientInfo), 'file:///d:/LOCA...', 'verbose', '6e53ba2b-5667-4...')
#22 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(165): AdvancedJsonRpc\Dispatcher->dispatch(Object(AdvancedJsonRpc\Request))
#23 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\EmitterTrait.php(89): Psalm\Internal\LanguageServer\LanguageServer->{closure:Psalm\Internal\LanguageServer\LanguageServer::__construct():151}(Object(Psalm\Internal\LanguageServer\Message))
#24 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(111): Psalm\Internal\LanguageServer\ProtocolStreamReader->emit('message', Array)
#25 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(57): Psalm\Internal\LanguageServer\ProtocolStreamReader->readMessages('Content-Length:...')
#26 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(430): Psalm\Internal\LanguageServer\ProtocolStreamReader->{closure:Psalm\Internal\LanguageServer\ProtocolStreamReader::__construct():49}()
#27 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(567): Revolt\EventLoop\Internal\AbstractDriver->invokeMicrotasks()
#28 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createCallbackFiber():565}()
#29 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(503): Fiber->start()
#30 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(542): Revolt\EventLoop\Internal\AbstractDriver->invokeCallbacks()
#31 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createLoopFiber():538}()
#32 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(96): Fiber->start()
#33 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(116): Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::__construct():90}()
#34 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop.php(406): Revolt\EventLoop\Internal\AbstractDriver->run()
#35 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(297): Revolt\EventLoop::run()
#36 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Cli\LanguageServer.php(425): Psalm\Internal\LanguageServer\LanguageServer::run(Object(Psalm\Config), Object(Psalm\Internal\LanguageServer\ClientConfiguration), 'D:\\LOCALSERVER\\...', Object(Psalm\Internal\LanguageServer\PathMapper), false)
#37 D:\LOCALSERVER\composer\vendor\vimeo\psalm\psalm-language-server(9): Psalm\Internal\Cli\LanguageServer::run(Array)
#38 D:\LOCALSERVER\composer\vendor\bin\psalm-language-server(119): include('D:\\LOCALSERVER\\...')
#39 {main}
  Code: -32603 
[Trace - 2:18:36 PM] Sending request 'shutdown - (1)'.
[Error - 2:18:36 PM] Starting client failed
  Message: InvalidArgumentException: Unrecognised parse tree type Psalm\Internal\Type\ParseTree\CallableParamTree in D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php:402
Stack trace:
#0 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(1280): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableParamTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#1 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(263): Psalm\Internal\Type\TypeParser::getTypeFromCallableTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), Array, Array, true)
#2 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(228): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#3 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Type\TypeParser.php(158): Psalm\Internal\Type\TypeParser::getTypeFromTree(Object(Psalm\Internal\Type\ParseTree\CallableWithReturnTypeTree), Object(Psalm\Codebase), NULL, Array, Array, true)
#4 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(165): Psalm\Internal\Type\TypeParser::parseTokens(Array, NULL, Array, Array, true)
#5 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Analyzer\CommentAnalyzer.php(65): Psalm\Internal\Analyzer\CommentAnalyzer::arrayToDocblocks(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\ParsedDocblock), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#6 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(1592): Psalm\Internal\Analyzer\CommentAnalyzer::getTypeFromComment(Object(PhpParser\Comment\Doc), Object(Psalm\Internal\Scanner\FileScanner), Object(Psalm\Aliases), Array, Array)
#7 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner.php(765): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->visitPropertyDeclaration(Object(PhpParser\Node\Stmt\Property), Object(Psalm\Config), Object(Psalm\Storage\ClassLikeStorage), 'WP_Ability')
#8 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\PhpVisitor\ReflectorVisitor.php(154): Psalm\Internal\PhpVisitor\Reflector\ClassLikeNodeScanner->start(Object(PhpParser\Node\Stmt\Class_))
#9 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(196): Psalm\Internal\PhpVisitor\ReflectorVisitor->enterNode(Object(PhpParser\Node\Stmt\Class_))
#10 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(98): PhpParser\NodeTraverser->traverseArray(Array)
#11 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(227): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#12 D:\LOCALSERVER\composer\vendor\nikic\php-parser\lib\PhpParser\NodeTraverser.php(76): PhpParser\NodeTraverser->traverseArray(Array)
#13 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Scanner\FileScanner.php(72): PhpParser\NodeTraverser->traverse(Array)
#14 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(460): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Internal\LanguageServer\Progress))
#15 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(709): Psalm\Internal\Codebase\Scanner->scanFile('D:\\LOCALSERVER\\...', Array, true)
#16 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(359): Psalm\Internal\Codebase\Scanner->scanAPath('D:\\LOCALSERVER\\...')
#17 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Codebase\Scanner.php(266): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#18 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Codebase.php(444): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes), 1)
#19 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Config.php(2414): Psalm\Codebase->scanFiles()
#20 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(381): Psalm\Config->visitStubFiles(Object(Psalm\Codebase), Object(Psalm\Internal\LanguageServer\Progress))
#21 D:\LOCALSERVER\composer\vendor\danog\advanced-json-rpc\lib\Dispatcher.php(172): Psalm\Internal\LanguageServer\LanguageServer->initialize(Object(LanguageServerProtocol\ClientCapabilities), Object(LanguageServerProtocol\ClientInfo), 'file:///d:/LOCA...', 'verbose', '6e53ba2b-5667-4...')
#22 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(165): AdvancedJsonRpc\Dispatcher->dispatch(Object(AdvancedJsonRpc\Request))
#23 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\EmitterTrait.php(89): Psalm\Internal\LanguageServer\LanguageServer->{closure:Psalm\Internal\LanguageServer\LanguageServer::__construct():151}(Object(Psalm\Internal\LanguageServer\Message))
#24 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(111): Psalm\Internal\LanguageServer\ProtocolStreamReader->emit('message', Array)
#25 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\ProtocolStreamReader.php(57): Psalm\Internal\LanguageServer\ProtocolStreamReader->readMessages('Content-Length:...')
#26 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(430): Psalm\Internal\LanguageServer\ProtocolStreamReader->{closure:Psalm\Internal\LanguageServer\ProtocolStreamReader::__construct():49}()
#27 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(567): Revolt\EventLoop\Internal\AbstractDriver->invokeMicrotasks()
#28 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createCallbackFiber():565}()
#29 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(503): Fiber->start()
#30 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(542): Revolt\EventLoop\Internal\AbstractDriver->invokeCallbacks()
#31 [internal function]: Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::createLoopFiber():538}()
#32 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(96): Fiber->start()
#33 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop\Internal\AbstractDriver.php(116): Revolt\EventLoop\Internal\AbstractDriver->{closure:Revolt\EventLoop\Internal\AbstractDriver::__construct():90}()
#34 D:\LOCALSERVER\composer\vendor\revolt\event-loop\src\EventLoop.php(406): Revolt\EventLoop\Internal\AbstractDriver->run()
#35 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\LanguageServer\LanguageServer.php(297): Revolt\EventLoop::run()
#36 D:\LOCALSERVER\composer\vendor\vimeo\psalm\src\Psalm\Internal\Cli\LanguageServer.php(425): Psalm\Internal\LanguageServer\LanguageServer::run(Object(Psalm\Config), Object(Psalm\Internal\LanguageServer\ClientConfiguration), 'D:\\LOCALSERVER\\...', Object(Psalm\Internal\LanguageServer\PathMapper), false)
#37 D:\LOCALSERVER\composer\vendor\vimeo\psalm\psalm-language-server(9): Psalm\Internal\Cli\LanguageServer::run(Array)
#38 D:\LOCALSERVER\composer\vendor\bin\psalm-language-server(119): include('D:\\LOCALSERVER\\...')
#39 {main}
  Code: -32603 
[DEBUG  - 2:18:36 PM] SERVER <== Content-Length: 44



[DEBUG  - 2:18:36 PM] SERVER <== {"jsonrpc":"2.0","id":1,"method":"shutdown"}

[DEBUG  - 2:18:36 PM] SERVER ==> Content-Type: application/vscode-jsonrpc; charset=utf8
Content-Length: 85

{"jsonrpc":"2.0","method":"telemetry\/event","params":{"type":3,"message":"closing"}}Content-Type: application/vscode-jsonrpc; charset=utf8
Content-Length: 96

{"jsonrpc":"2.0","method":"window\/logMessage","params":{"type":3,"message":"Shutting down..."}}

[Trace - 2:18:36 PM] Received notification 'telemetry/event'.
Params: {
    "type": 3,
    "message": "closing"
}


[Trace - 2:18:36 PM] Received notification 'window/logMessage'.
Params: {
    "type": 3,
    "message": "Shutting down..."
}


[Info  - 2:18:36 PM] Shutting down...
[DEBUG  - 2:18:36 PM] SERVER ==> Content-Type: application/vscode-jsonrpc; charset=utf8
Content-Length: 84

{"jsonrpc":"2.0","method":"telemetry\/event","params":{"type":3,"message":"closed"}}

[Trace - 2:18:36 PM] Received notification 'telemetry/event'.
Params: {
    "type": 3,
    "message": "closed"
}


[DEBUG  - 2:18:36 PM] SERVER ==> Content-Type: application/vscode-jsonrpc; charset=utf8
Content-Length: 38

{"jsonrpc":"2.0","id":1,"result":null}

[Trace - 2:18:36 PM] Received response 'shutdown - (1)' in 68ms.
No result returned.


[Trace - 2:18:36 PM] Sending notification 'exit'.
No parameters provided.


[DEBUG  - 2:18:36 PM] SERVER <== Content-Length: 33



[DEBUG  - 2:18:36 PM] SERVER <== {"jsonrpc":"2.0","method":"exit"}

[DEBUG  - 2:18:36 PM] PHP process disconnected

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions