mirror of
https://github.com/golang/go
synced 2024-10-01 07:38:32 -06:00
593de60622
As usual, in debugging the creation of a new file with gopls, I've encountered a go/packages overlay bug. The issue is: A file b/b.go with package name "b" exists on disk. A package b/b_test.go with no content exists on disk. There is an overlay for b/b_test.go that contains the package name "b". Running packages.Load for file=b/b_test.go will result in a failure to load package b [b.test]. This change adds this test to the go/packages tests. This case is fixed by restricting the fallback logic in runContainsQueries. We only attempt to construct an ad-hoc package if the original package was returned with no GoFiles. Also, a minor change to the gopls error parsing code that fixes a case in which diagnostics were being sent without corresponding files. Updates golang/go#36635. Change-Id: I38680a2cc65ae9c3252294db6b942d031189faf5 Reviewed-on: https://go-review.googlesource.com/c/tools/+/215743 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com> Reviewed-by: Michael Matloob <matloob@golang.org> |
||
---|---|---|
.. | ||
analysis.go | ||
cache.go | ||
check.go | ||
debug.go | ||
error_test.go | ||
errors.go | ||
external.go | ||
load.go | ||
modfiles.go | ||
overlay.go | ||
parse_mod.go | ||
parse.go | ||
pkg.go | ||
session.go | ||
snapshot.go | ||
view.go |