Skip to content
This repository has been archived by the owner on Mar 6, 2022. It is now read-only.

Undefined method when calling for references #57

Open
przepompownia opened this issue Jan 22, 2022 · 1 comment
Open

Undefined method when calling for references #57

przepompownia opened this issue Jan 22, 2022 · 1 comment

Comments

@przepompownia
Copy link
Contributor

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
Copy link
Contributor

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?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants