From 55ee3a41311a7fa2447fd773c868f0d13555f695 Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Thu, 27 Jun 2019 13:07:30 -0400 Subject: [PATCH] internal/lsp: modify check for a missing package This change moves from marking a package with `go list` errors as missing, to marking a package with no files as missing. Change-Id: Ibad1e67518d8a7f4c4bde416c53ab8132ae534e3 Reviewed-on: https://go-review.googlesource.com/c/tools/+/184039 Reviewed-by: Ian Cottrell --- internal/lsp/cache/load.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/lsp/cache/load.go b/internal/lsp/cache/load.go index 913ef4a3..85eb2c6b 100644 --- a/internal/lsp/cache/load.go +++ b/internal/lsp/cache/load.go @@ -118,7 +118,8 @@ func (v *view) checkMetadata(ctx context.Context, f *goFile) (map[packageID]*met return nil, pkg.Errors, fmt.Errorf("package %s has errors, skipping type-checking", pkg.PkgPath) } for importPath, importPkg := range pkg.Imports { - if len(importPkg.Errors) > 0 { + // If we encounter a package we cannot import, mark it as missing. + if len(importPkg.CompiledGoFiles) == 0 { if f.missingImports == nil { f.missingImports = make(map[packagePath]struct{}) }