phpactor / language-server-phpactor-extensions

MIT License
0 stars 4 forks source link

Undefined method when calling for references #57

Open przepompownia opened 2 years ago

przepompownia commented 2 years ago

Trying to response in #56 I encountered an error,

For reproduction, open ./vendor/phpactor/container/lib/Extension.php and try to find references to load().

I get (after filtering by sed) on the phpactor master branch.

[ERROR][2022-01-22 18:15:22] .../vim/lsp/rpc.lua:420    "rpc"   "phpactor"  "stderr"    '[\27[0;32mINFO\27[0;0m][\27[1;37m871722.584722\27[0;0m] OUT: {
    "jsonrpc": "2.0",
    "id": 3,
    "result": null,
    "error": {
        "code": -32603,
        "message": "Exception [Error] Call to undefined method Microsoft\PhpParser\Node\Expression\MemberAccessExpression::getStart()",
        "data": "#0 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(104): Phpactor\Extension\PHPUnit\FrameWalker\AssertInstanceOfWalker->walk()
#1 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#2 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#3 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(109): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#4 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#5 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#6 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(109): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#7 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#8 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#9 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(109): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#10 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#11 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#12 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(109): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#13 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#14 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#15 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(109): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#16 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#17 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#18 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(109): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#19 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#20 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#21 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(109): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#22 vendor/phpactor/worse-reflection/lib/Core/Cache/TtlCache.php(44): Phpactor\WorseReflection\Core\Inference\FrameBuilder->Phpactor\WorseReflection\Core\Inference\{closure}()
#23 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(125): Phpactor\WorseReflection\Core\Cache\TtlCache->getOrSet()
#24 vendor/phpactor/worse-reflection/lib/Core/Inference/FrameBuilder.php(73): Phpactor\WorseReflection\Core\Inference\FrameBuilder->walkNode()
#25 vendor/phpactor/worse-reflection/lib/Bridge/TolerantParser/Reflector/TolerantSourceCodeReflector.php(63): Phpactor\WorseReflection\Core\Inference\FrameBuilder->build()
#26 vendor/phpactor/worse-reflection/lib/Core/Reflector/CompositeReflector.php(89): Phpactor\WorseReflection\Bridge\TolerantParser\Reflector\TolerantSourceCodeReflector->reflectOffset()
#27 vendor/phpactor/indexer-extension/lib/Adapter/Worse/WorseRecordReferenceEnhancer.php(57): Phpactor\WorseReflection\Core\Reflector\CompositeReflector->reflectOffset()
#28 vendor/phpactor/indexer-extension/lib/Model/Query/MemberQuery.php(66): Phpactor\Indexer\Adapter\Worse\WorseRecordReferenceEnhancer->enhance()
#29 vendor/phpactor/indexer-extension/lib/Adapter/ReferenceFinder/IndexedReferenceFinder.php(119): Phpactor\Indexer\Model\Query\MemberQuery->referencesTo()
#30 vendor/phpactor/indexer-extension/lib/Adapter/ReferenceFinder/IndexedReferenceFinder.php(62): Phpactor\Indexer\Adapter\ReferenceFinder\IndexedReferenceFinder->resolveReferences()
#31 vendor/phpactor/reference-finder/lib/ChainReferenceFinder.php(26): Phpactor\Indexer\Adapter\ReferenceFinder\IndexedReferenceFinder->findReferences()
#32 vendor/phpactor/language-server-phpactor-extensions/lib/LanguageServerReferenceFinder/Adapter/Indexer/WorkspaceUpdateReferenceFinder.php(44): Phpactor\ReferenceFinder\ChainReferenceFinder->findReferences()
#33 vendor/phpactor/language-server-phpactor-extensions/lib/LanguageServerReferenceFinder/Handler/ReferencesHandler.php(113): Phpactor\Extension\LanguageServerReferenceFinder\Adapter\Indexer\WorkspaceUpdateReferenceFinder->findReferences()
#34 [internal function]: Phpactor\Extension\LanguageServerReferenceFinder\Handler\ReferencesHandler->Phpactor\Extension\LanguageServerReferenceFinder\Handler\{closure}()
#35 vendor/amphp/amp/lib/Coroutine.php(118): Generator->send()
#36 vendor/amphp/amp/lib/Internal/Placeholder.php(149): Amp\Coroutine->Amp\{closure}()
#37 vendor/amphp/amp/lib/Delayed.php(26): Amp\Delayed->resolve()
#38 vendor/amphp/amp/lib/Loop/NativeDriver.php(142): Amp\Delayed->Amp\{closure}()
#39 vendor/amphp/amp/lib/Loop/Driver.php(138): Amp\Loop\NativeDriver->dispatch()
#40 vendor/amphp/amp/lib/Loop/Driver.php(72): Amp\Loop\Driver->tick()
#41 vendor/amphp/amp/lib/Loop.php(95): Amp\Loop\Driver->run()
#42 vendor/phpactor/language-server/lib/Core/Server/LanguageServer.php(118): Amp\Loop::run()
#43 vendor/phpactor/language-server-extension/lib/LanguageServer/Command/StartCommand.php(59): Phpactor\LanguageServer\Core\Server\LanguageServer->run()
#44 vendor/symfony/console/Command/Command.php(298): Phpactor\Extension\LanguageServer\Command\StartCommand->execute()
#45 vendor/symfony/console/Application.php(1005): Symfony\Component\Console\Command\Command->run()
#46 vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand()
#47 lib/Application.php(54): Symfony\Component\Console\Application->doRun()
#48 vendor/symfony/console/Application.php(171): Phpactor\Application->doRun()
#49 bin/phpactor(42): Symfony\Component\Console\Application->run()
#50 {main}"
    }
}
dantleech commented 2 years ago

Odd. With the latest release I upgraded all packages to use Tolerant Parser 0.1 which changed getStart to getStartPosition. Possible I missed one and it's not tested?