x/tools/gopls: parse dependency ASTs in full mode #38278
Labels
FrozenDueToAge
gopls/performance
Issues related to gopls performance (CPU, memory, etc).
gopls
Issues related to the Go language server, gopls.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Tools
This label describes issues relating to any tools in the x/tools repository.
Milestone
We really only use dependency ASTs for finding definitions and documentation, and we can avoid extra work and AST traversal by precomputing what we need. In most cases, dependencies are only type-checked once. I propose this alternative:
PackageHandles
, one for workspace packages (PackageHandle
) and one for dependencies (ExportedPackageHandle
).PackageHandle
remains the same as it is now, whileExportedPackageHandle
does not contain references to the package'sParseGoHandles
. Rather, it contains a pre-computed table of information that can be used for various features. My guess is that it will be a table oftoken.Pos
-> documentation, but I'm sure I missed things./cc @heschik @ianthehat
The text was updated successfully, but these errors were encountered: