diff options
author | Robert Griesemer <gri@golang.org> | 2021-04-27 12:54:39 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2021-04-28 18:50:47 +0000 |
commit | 42812a2feec29873aa6ee594d1355948e78e92a3 (patch) | |
tree | 7190cce25a66fca0f722437511d4aba70a57027c /src/cmd/compile/internal/types2/resolver.go | |
parent | ea65a12f895ce67ee6fd843b9cee97d42f6ad0b4 (diff) | |
download | go-42812a2feec29873aa6ee594d1355948e78e92a3.tar.gz go-42812a2feec29873aa6ee594d1355948e78e92a3.zip |
types2: disambiguate package qualifiers in error messages
This is a port of the go/types CL https://golang.org/cl/313035
with minor adjustments (use of package syntax rather than go/ast).
Change-Id: I89410efb3d27be85fdbe827f966c2c91ee5693b5
Reviewed-on: https://go-review.googlesource.com/c/go/+/314410
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types2/resolver.go')
-rw-r--r-- | src/cmd/compile/internal/types2/resolver.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/types2/resolver.go b/src/cmd/compile/internal/types2/resolver.go index 86eeb72b21..fa30650bd4 100644 --- a/src/cmd/compile/internal/types2/resolver.go +++ b/src/cmd/compile/internal/types2/resolver.go @@ -179,7 +179,11 @@ func (check *Checker) importPackage(pos syntax.Pos, path, dir string) *Package { // package should be complete or marked fake, but be cautious if imp.complete || imp.fake { check.impMap[key] = imp - check.pkgCnt[imp.name]++ + // Once we've formatted an error message once, keep the pkgPathMap + // up-to-date on subsequent imports. + if check.pkgPathMap != nil { + check.markImports(imp) + } return imp } |