1
0
mirror of https://github.com/golang/go synced 2024-11-18 15:34:53 -07:00
go/internal/lsp/cache
Rebecca Stambler 6441d34c3f internal/lsp: fix caching issue with duplicate handles
In (*snapshot).addPackage, we return early if the package handle is
already cached, but we continue building the dependency graph with a
handle passed into addPackage.

This seems fine since both handles should have the same cache key,
but if we clone the snapshot, we will end up dropping the handle that
had the type information on it. It will then have to be recomputed,
causing the skew in the types.Package.

Fixes golang/go#38403

Change-Id: I0e360447a428123fcac444fbea3c2a3232ef941a
Reviewed-on: https://go-review.googlesource.com/c/tools/+/232817
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
2020-05-07 19:23:25 +00:00
..
analysis.go internal/lsp: fix caching issue with duplicate handles 2020-05-07 19:23:25 +00:00
cache.go internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
check.go internal/lsp: fix caching issue with duplicate handles 2020-05-07 19:23:25 +00:00
debug.go internal/lsp/lsprpc: add a handshake between forwarder and remote 2020-02-24 22:51:04 +00:00
error_test.go internal/lsp: refactor error handling code in type-checking 2019-10-21 18:57:46 +00:00
errors.go internal/telemetry: renaming to internal/event 2020-04-23 17:20:48 +00:00
external.go internal/event: renaming the main event API functions 2020-04-23 17:21:36 +00:00
load.go internal/lsp: make sure diagnostics only refer to existing files 2020-05-07 02:01:22 +00:00
mod.go internal/event: renaming the main event API functions 2020-04-23 17:21:36 +00:00
os_darwin.go internal/lsp: add a mutex around the view's options 2020-04-02 16:41:49 +00:00
os_windows.go internal/lsp/cache: validate workspace path case 2020-03-27 19:55:53 +00:00
parse.go internal/lsp/cache: avoid string(int) conversion 2020-05-07 05:02:07 +00:00
pkg.go internal/lsp/cache: hide type errors if we fix up the AST 2020-04-10 04:07:51 +00:00
session.go internal/lsp/cache: add an UnsavedFiles method to Session 2020-05-07 17:51:45 +00:00
snapshot.go internal/lsp: fix caching issue with duplicate handles 2020-05-07 19:23:25 +00:00
view_test.go internal/lsp/cache: validate workspace path case 2020-03-27 19:55:53 +00:00
view.go internal/lsp: use %w in error wrappers 2020-05-04 14:52:14 +00:00