diff options
author | Robert Griesemer <gri@golang.org> | 2021-02-17 16:04:59 -0800 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2021-02-18 20:47:07 +0000 |
commit | 5e4da8670b13370392a9195930e3b4bbe5f1944f (patch) | |
tree | 8ba0d44ed463401d3976f9cd3ae6047645e04340 /src/cmd/compile/internal/types2/typestring.go | |
parent | 5ecb9a788716be799d73c5d8192368ecb9557d48 (diff) | |
download | go-5e4da8670b13370392a9195930e3b4bbe5f1944f.tar.gz go-5e4da8670b13370392a9195930e3b4bbe5f1944f.zip |
[dev.typeparams] cmd/compile/internal/types2: use converter functions rather than methods
This change replaces methods with functions to reduce the API surface of
types2.Type and to match the approach taken in go/types. The converter
methods for Named and TypeParam will be addressed in a follow-up CL.
Also: Fixed behavior of optype to return the underlying type for
arguments that are not type parameters.
Change-Id: Ia369c796754bc33bbaf0c9c8478badecb729279b
Reviewed-on: https://go-review.googlesource.com/c/go/+/293291
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types2/typestring.go')
-rw-r--r-- | src/cmd/compile/internal/types2/typestring.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/types2/typestring.go b/src/cmd/compile/internal/types2/typestring.go index 6b6d7ad2be..4d778df43f 100644 --- a/src/cmd/compile/internal/types2/typestring.go +++ b/src/cmd/compile/internal/types2/typestring.go @@ -327,7 +327,7 @@ func writeTParamList(buf *bytes.Buffer, list []*TypeName, qf Qualifier, visited var writeBounds bool for _, p := range list { // bound(p) should be an interface but be careful (it may be invalid) - b := bound(p).Interface() + b := asInterface(bound(p)) if b != nil && !b.Empty() { writeBounds = true break @@ -395,7 +395,7 @@ func writeTuple(buf *bytes.Buffer, tup *Tuple, variadic bool, qf Qualifier, visi } else { // special case: // append(s, "foo"...) leads to signature func([]byte, string...) - if t := typ.Basic(); t == nil || t.kind != String { + if t := asBasic(typ); t == nil || t.kind != String { panic("internal error: string type expected") } writeType(buf, typ, qf, visited) |