go/internal/lsp/cache
Robert Findley 4e31bdea78 internal/lsp/cache: avoid panic in mod diags with redundant requires
modfile.File.SetRequire panics on duplicate requires with conflicting
versions. Avoid the panic by returning an error in this case.

Skip directness diagnostics that run into this error, rather than
invalidating all diagnostics.

Fixes golang/go#50425

Change-Id: Ic6379ecc48581e7fd7b470ed295e449833c351dd
Reviewed-on: https://go-review.googlesource.com/c/tools/+/376394
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-01-13 21:34:46 +00:00
..
analysis.go x/tools: improving the error message for check fact type 2022-01-04 19:51:13 +00:00
cache.go internal/template: identify template files by the templateExtensions option 2022-01-13 17:30:17 +00:00
check.go internal/typeparams: update to the new Instances API 2021-09-21 18:37:00 +00:00
error_test.go internal/lsp/cache: split up sourceDiagnostics 2021-03-02 02:05:13 +00:00
errors.go internal/lsp/cache: fix incorrect detection of useless code 2021-10-14 14:04:14 +00:00
imports.go internal/memoize: do not allow (*Generation).Acquire to fail 2021-12-02 03:25:35 +00:00
keys.go internal/lsp: decouple client and server debug 2020-06-11 13:49:48 +00:00
load.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
metadata.go internal/lsp: export and move some objects related to metadata 2021-08-15 15:51:49 +00:00
mod.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
mod_tidy.go internal/lsp/cache: avoid panic in mod diags with redundant requires 2022-01-13 21:34:46 +00:00
os_darwin.go internal/lsp/cache: clarify an error message about mismatching casing 2021-08-03 17:18:10 +00:00
os_windows.go internal/lsp/cache: clarify an error message about mismatching casing 2021-08-03 17:18:10 +00:00
parse.go internal/template: identify template files by the templateExtensions option 2022-01-13 17:30:17 +00:00
parse_test.go internal/lsp/cache: trim more stuff in ParseExported mode 2021-05-11 17:48:41 +00:00
pkg.go internal/lsp/cache: don't offset invalid positions 2021-11-05 15:19:55 +00:00
session.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
snapshot.go internal/lsp: find templates based on file kind 2022-01-13 20:55:50 +00:00
symbols.go internal/lsp: precompute workspace symbols 2021-08-09 20:20:17 +00:00
view.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
view_test.go internal/lsp: enable template processing and add templateFiles option 2021-11-10 16:35:53 +00:00
workspace.go internal/lsp: support go.work outside of experimental 2021-09-29 19:20:39 +00:00
workspace_test.go internal/lsp: start parsing go.work file like gopls.mod file 2021-06-24 04:20:31 +00:00