diff options
| author | Robert Griesemer <gri@golang.org> | 2021-09-08 16:03:57 -0700 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2021-09-08 23:59:02 +0000 |
| commit | a1f6208e56436281ce5e26ad745f8fc3f7a9b280 (patch) | |
| tree | 25f360a87d8870fa124e40be61cdd43906ff1078 /src/cmd/compile/internal/noder/reader2.go | |
| parent | f5f8a911d8425995c61ed836584b4f3ad0e4c8fc (diff) | |
| download | go-a1f6208e56436281ce5e26ad745f8fc3f7a9b280.tar.xz | |
go/types, types2: add Environment to Config
Port to types2 and adjust compiler accordingly.
Change-Id: I2e72b151ef834977dca64cb2e62cedcac4e46062
Reviewed-on: https://go-review.googlesource.com/c/go/+/348578
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/noder/reader2.go')
| -rw-r--r-- | src/cmd/compile/internal/noder/reader2.go | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/noder/reader2.go b/src/cmd/compile/internal/noder/reader2.go index 3886d571b5..6e2d1f2e76 100644 --- a/src/cmd/compile/internal/noder/reader2.go +++ b/src/cmd/compile/internal/noder/reader2.go @@ -18,7 +18,7 @@ import ( type pkgReader2 struct { pkgDecoder - check *types2.Checker + env *types2.Environment imports map[string]*types2.Package posBases []*syntax.PosBase @@ -26,11 +26,11 @@ type pkgReader2 struct { typs []types2.Type } -func readPackage2(check *types2.Checker, imports map[string]*types2.Package, input pkgDecoder) *types2.Package { +func readPackage2(env *types2.Environment, imports map[string]*types2.Package, input pkgDecoder) *types2.Package { pr := pkgReader2{ pkgDecoder: input, - check: check, + env: env, imports: imports, posBases: make([]*syntax.PosBase, input.numElems(relocPosBase)), @@ -233,9 +233,7 @@ func (r *reader2) doTyp() (res types2.Type) { obj, targs := r.obj() name := obj.(*types2.TypeName) if len(targs) != 0 { - // TODO(mdempsky) should use a single shared environment here - // (before, this used a shared checker) - t, _ := types2.Instantiate(types2.NewEnvironment(), name.Type(), targs, false) + t, _ := types2.Instantiate(r.p.env, name.Type(), targs, false) return t } return name.Type() |
