1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:44:43 -07:00
go/internal
Rebecca Stambler e23f2f3ad7 internal/lsp: reload metadata for orphaned files
go/packages overlay handling only really works for contains queries
(file=), so our approach of reloading packages by package path (for
workspace packages) wasn't handling newly created packages that need to
be handled through overlays. Workaround this by reloading metadata for
individual files that are missing it by running extra contains queries
(only after the first metadata load for package paths). Be careful not
to reload the same file multiple times if the first load did not succeed.

Somewhat related, clear out `go list` errors in packages that go
through overlay handling, since they will often be rendered irrelevant.
I'm not sure if this is the right move, but if it's not, then we will
have to do extra work to disregard those errors in gopls.

Fixes golang/go#36661.
Fixes golang/go#36635.

Change-Id: Ib83cffcdf8a3e07da0f30e734d5e2c89691e1aba
Reviewed-on: https://go-review.googlesource.com/c/tools/+/216141
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
2020-01-24 20:59:04 +00:00
..
apidiff all: fix more typos 2019-09-11 15:13:14 +00:00
fastwalk internal/fastwalk: avoid slice bounds out of range for long file names 2018-11-12 23:16:31 +00:00
gopathwalk internal/gopathwalk/walk: add missing function descriptions and renaming 2019-12-16 21:45:07 +00:00
imports internal/imports: pass dummy source for completion functions 2020-01-21 20:03:11 +00:00
jsonrpc2 internal/lsp: cancel early 2019-10-22 07:49:31 +00:00
lsp internal/lsp: reload metadata for orphaned files 2020-01-24 20:59:04 +00:00
memoize internal/memoize: fix race on read of handle.function 2019-12-05 18:38:34 +00:00
module imports: stop using go/packages for modules 2019-01-22 20:29:12 +00:00
packagesinternal go/packages: internally expose ForTests in go/packages 2020-01-16 22:11:50 +00:00
semver go/packages: add name= query 2018-10-16 20:20:09 +00:00
span internal/span: support line directives 2019-11-25 19:20:43 +00:00
telemetry internal/telemetry/log: correct the docstring for Error 2020-01-21 22:25:47 +00:00
testenv internal/testenv: reject the resolved 'go' command if it does not match runtime.GOROOT 2019-11-11 19:22:22 +00:00
tool internal/lsp, internal/tool: clean up command line of gopls 2019-12-16 17:36:52 +00:00
xcontext internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00