Open aymanrady opened 4 years ago
Language server crashes when parsing this file https://github.com/woocommerce/woocommerce-gateway-stripe/blob/4.3.0/includes/abstracts/abstract-wc-stripe-payment-gateway.php
[Error - 4:26:54 PM] Request textDocument/hover failed. Message: RuntimeException: A type is missing in an array expression in ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/type-resolver/src/TypeResolver.php:257 Stack trace: #0 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/type-resolver/src/TypeResolver.php(195): phpDocumentor\Reflection\TypeResolver->parseTypes(Object(ArrayIterator), Object(phpDocumentor\Reflection\Types\Context), 2) #1 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/type-resolver/src/TypeResolver.php(146): phpDocumentor\Reflection\TypeResolver->parseTypes(Object(ArrayIterator), Object(phpDocumentor\Reflection\Types\Context), 0) #2 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php(52): phpDocumentor\Reflection\TypeResolver->resolve('array()', Object(phpDocumentor\Reflection\Types\Context)) #3 [internal function]: phpDocumentor\Reflection\DocBlock\Tags\Return_::create('array()', Object(phpDocumentor\Reflection\TypeResolver), Object(phpDocumentor\Reflection\DocBlock\DescriptionFactory), Object(phpDocumentor\Reflection\Types\Context)) #4 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php(201): call_user_func_array(Array, Array) #5 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php(122): phpDocumentor\Reflection\DocBlock\StandardTagFactory->createTag('array()', 'return', Object(phpDocumentor\Reflection\Types\Context)) #6 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php(231): phpDocumentor\Reflection\DocBlock\StandardTagFactory->create('@return array()', Object(phpDocumentor\Reflection\Types\Context)) #7 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php(96): phpDocumentor\Reflection\DocBlockFactory->parseTagBlock('@since 3.1.0\n@v...', Object(phpDocumentor\Reflection\Types\Context)) #8 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/DefinitionResolver.php(166): phpDocumentor\Reflection\DocBlockFactory->create('/**\n\t * Generat...', Object(phpDocumentor\Reflection\Types\Context)) #9 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/DefinitionResolver.php(1127): LanguageServer\DefinitionResolver->getDocBlock(Object(Microsoft\PhpParser\Node\MethodDeclaration)) #10 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/DefinitionResolver.php(240): LanguageServer\DefinitionResolver->getTypeFromNode(Object(Microsoft\PhpParser\Node\MethodDeclaration)) #11 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(157): LanguageServer\DefinitionResolver->createDefinitionFromNode(Object(Microsoft\PhpParser\Node\MethodDeclaration), 'WC_Stripe_Payme...') #12 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(124): LanguageServer\TreeAnalyzer->collectDefinitionsAndReferences(Object(Microsoft\PhpParser\Node\MethodDeclaration)) #13 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\MethodDeclaration)) #14 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\ClassMembersNode)) #15 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\ClassDeclaration)) #16 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(58): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\SourceFileNode)) #17 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/PhpDocument.php(147): LanguageServer\TreeAnalyzer->__construct(Object(Microsoft\PhpParser\Parser), '<?php\nif ( ! de...', Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver), 'file:///home/ay...') #18 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/PhpDocument.php(105): LanguageServer\PhpDocument->updateContent('<?php\nif ( ! de...') #19 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(141): LanguageServer\PhpDocument->__construct('file:///home/ay...', '<?php\nif ( ! de...', Object(LanguageServer\Index\Index), Object(Microsoft\PhpParser\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver)) #20 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(120): LanguageServer\PhpDocumentLoader->create('file:///home/ay...', '<?php\nif ( ! de...') #21 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}() #22 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/sabre/event/lib/coroutine.php(70): Generator->send('<?php\nif ( ! de...') #23 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/sabre/event/lib/Promise.php(242): Sabre\Event\{closure}('<?php\nif ( ! de...') #24 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/sabre/event/lib/Loop/Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}() #25 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/sabre/event/lib/Loop/Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks() #26 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true) #27 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run() #28 ~/.vscode/extensions/felixfbecker.php-intellisense-2.3.13/vendor/felixfbecker/language-server/bin/php-language-server.php(55): Sabre\Event\Loop\run() #29 {main} Code: -32603
Same problem here, The problem occurs in doc like this.
/** * @return array() */
Language server crashes when parsing this file https://github.com/woocommerce/woocommerce-gateway-stripe/blob/4.3.0/includes/abstracts/abstract-wc-stripe-payment-gateway.php
Version: 5.4.6
Stack trace