1
0
mirror of https://github.com/golang/go synced 2024-09-30 20:38:32 -06:00
go/internal
Muir Manders 63f37bb4d3 internal/lsp: fix some cases of stuck files
If typeCheck() returned an error, we could get into a state where a
package had an entry in the pcache, but the package's files had an
empty "pkgs" map. When we got a DidChange event for one of the files,
no packages would get invalidated since the file's "pkgs" was
empty. This resulted in the cached typeCheck() error persisting
indefinitely. Fix by never caching pcache entries on error.

An easy way to reproduce the problem was to delete the package name
from a file. For example, edit "package foo" to be just
"package". This caused the package to get stuck with an "AST for %s
has an invalid position" error.

Change-Id: I330bf9e419852dffa0f2dee94b56226367488dd1
GitHub-Last-Rev: 18be7078521b942694c76f799a2d520eee47167d
GitHub-Pull-Request: golang/tools#135
Reviewed-on: https://go-review.googlesource.com/c/tools/+/185839
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
2019-07-12 18:43:07 +00:00
..
apidiff apidiff: represent a Report as a list of Changes 2019-04-22 23:39:26 +00:00
fastwalk internal/fastwalk: avoid slice bounds out of range for long file names 2018-11-12 23:16:31 +00:00
gopathwalk imports: stop using go/packages for modules 2019-01-22 20:29:12 +00:00
imports internal/imports: refactor to split finding and applying fixes 2019-07-02 14:45:09 +00:00
jsonrpc2 internal/lsp: reduce trace package to minimal StartSpan for now 2019-07-11 17:25:55 +00:00
lsp internal/lsp: fix some cases of stuck files 2019-07-12 18:43:07 +00:00
memoize internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00
module imports: stop using go/packages for modules 2019-01-22 20:29:12 +00:00
semver go/packages: add name= query 2018-10-16 20:20:09 +00:00
span internal/span: handle character values beyond end of line in FromUTF16Column 2019-07-06 07:08:13 +00:00
tool internal/tool: add a small package to unify the flag handling across all our tools 2018-12-17 23:08:00 +00:00
txtar imports: stop using go/packages for modules 2019-01-22 20:29:12 +00:00
xcontext internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00