diff options
author | Robert Griesemer <gri@golang.org> | 2021-08-05 13:24:15 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2021-08-06 20:34:51 +0000 |
commit | 0d7dc417eaebd35249994bfd5cf211df9bf457c6 (patch) | |
tree | a97725bf356d9d5c20da6f3b8d55b49f3f0dfb17 /src/cmd/compile/internal/importer/iimport.go | |
parent | 09d82689ed899d601a9f4b5615d67025dcdb958b (diff) | |
download | go-0d7dc417eaebd35249994bfd5cf211df9bf457c6.tar.gz go-0d7dc417eaebd35249994bfd5cf211df9bf457c6.zip |
[dev.typeparams] cmd/compile: change types2.Union API to accept a list of Terms
Instead of providing a list of tildes and types, use a list of
Terms to create a Union, with suitable accessors.
Define the (exported) notion of a Term representing a union term.
This simplified various uses and also will be easier to extend
should we want to add more information to a Term in the future.
Change-Id: I52fd73938bfa11bac60adbf10580b6d0680df4f1
Reviewed-on: https://go-review.googlesource.com/c/go/+/340250
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/iimport.go')
-rw-r--r-- | src/cmd/compile/internal/importer/iimport.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cmd/compile/internal/importer/iimport.go b/src/cmd/compile/internal/importer/iimport.go index 3dd28033a1..3aab32fc6b 100644 --- a/src/cmd/compile/internal/importer/iimport.go +++ b/src/cmd/compile/internal/importer/iimport.go @@ -677,13 +677,13 @@ func (r *importReader) doType(base *types2.Named) types2.Type { errorf("unexpected instantiation type") } nt := int(r.uint64()) - terms := make([]types2.Type, nt) - tildes := make([]bool, nt) + terms := make([]*types2.Term, nt) for i := range terms { - terms[i] = r.typ() - tildes[i] = r.bool() + typ := r.typ() + tilde := r.bool() + terms[i] = types2.NewTerm(tilde, typ) } - return types2.NewUnion(terms, tildes) + return types2.NewUnion(terms) } } |