aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/importer
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-07-28 15:29:19 -0700
committerRobert Griesemer <gri@golang.org>2021-07-29 21:05:45 +0000
commit27552e9172c5a9f7bbd8428c6e30eac14bb5e0b0 (patch)
tree725803dfd6ba089389abe0a83f9c83e0eeff6f6e /src/cmd/compile/internal/importer
parentaf903261e7e6af8ce932433cf87a60381781bfb9 (diff)
downloadgo-27552e9172c5a9f7bbd8428c6e30eac14bb5e0b0.tar.gz
go-27552e9172c5a9f7bbd8428c6e30eac14bb5e0b0.zip
[dev.typeparams] cmd/compile: set type parameter indices when they are bound
This is a port of CL 336249 with adjustments due to slightly different handling of type parameter declaration in types2. The CL also contains adjustments to the compiler front-end. With this change it is not necessary to export type parameter indices. Filed issue #47451 so we don't forget. Change-Id: I2834f7be313fcb4763dff2a9058f1983ee6a81b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/338192 Trust: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/importer')
-rw-r--r--src/cmd/compile/internal/importer/iimport.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/importer/iimport.go b/src/cmd/compile/internal/importer/iimport.go
index 453fa40f2d..999b2aa1dc 100644
--- a/src/cmd/compile/internal/importer/iimport.go
+++ b/src/cmd/compile/internal/importer/iimport.go
@@ -368,10 +368,13 @@ func (r *importReader) obj(name string) {
if r.p.exportVersion < iexportVersionGenerics {
errorf("unexpected type param type")
}
- index := int(r.int64())
+ // Type parameter indices are lazily "allocated".
+ // There's no need to export them anymore.
+ // TODO change the export format accordingly
+ _ = int(r.int64())
name0, sub := parseSubscript(name)
tn := types2.NewTypeName(pos, r.currPkg, name0, nil)
- t := (*types2.Checker)(nil).NewTypeParam(tn, index, nil)
+ t := (*types2.Checker)(nil).NewTypeParam(tn, nil)
if sub == 0 {
errorf("missing subscript")
}