aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/types2/type.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-02-17 21:18:07 -0800
committerRobert Griesemer <gri@golang.org>2021-02-18 20:47:22 +0000
commitc2314babb8c21a352e7a0625963e9aed0f3890bd (patch)
tree197959afcd2f870ccedf9aee874661e8b74658a7 /src/cmd/compile/internal/types2/type.go
parent099374b55e8aed17d1e77a1084f8fb78ff2f8162 (diff)
downloadgo-c2314babb8c21a352e7a0625963e9aed0f3890bd.tar.gz
go-c2314babb8c21a352e7a0625963e9aed0f3890bd.zip
[dev.typeparams] cmd/compile/internal/types: review of type.go
The changes between (equivalent, and reviewed) go/types/type.go and type.go can be seen by comparing patchset 1 and 3. The actual change is just removing the "// UNREVIEWED" marker and some comment adjustments. Change-Id: Ied0e2f942bc96a9fcae0466761cfaa60a87668db Reviewed-on: https://go-review.googlesource.com/c/go/+/293471 Trust: Robert Griesemer <gri@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types2/type.go')
-rw-r--r--src/cmd/compile/internal/types2/type.go11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/types2/type.go b/src/cmd/compile/internal/types2/type.go
index c1c3a4629e..a9ac90246d 100644
--- a/src/cmd/compile/internal/types2/type.go
+++ b/src/cmd/compile/internal/types2/type.go
@@ -1,4 +1,3 @@
-// UNREVIEWED
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
@@ -207,7 +206,7 @@ type Signature struct {
// and store it in the Func Object) because when type-checking a function
// literal we call the general type checker which returns a general Type.
// We then unpack the *Signature and use the scope for the literal body.
- rparams []*TypeName // reveiver type parameters from left to right; or nil
+ rparams []*TypeName // receiver type parameters from left to right; or nil
tparams []*TypeName // type parameters from left to right; or nil
scope *Scope // function scope, present for package-local signatures
recv *Var // nil if not a method
@@ -725,9 +724,8 @@ type TypeParam struct {
bound Type // *Named or *Interface; underlying type is always *Interface
}
-func (t *TypeParam) Obj() *TypeName {
- return t.obj
-}
+// Obj returns the type name for the type parameter t.
+func (t *TypeParam) Obj() *TypeName { return t.obj }
// NewTypeParam returns a new TypeParam.
func (check *Checker) NewTypeParam(obj *TypeName, index int, bound Type) *TypeParam {
@@ -747,6 +745,7 @@ func (t *TypeParam) Bound() *Interface {
if n, _ := t.bound.(*Named); n != nil {
pos = n.obj.pos
}
+ // TODO(gri) switch this to an unexported method on Checker.
t.check.completeInterface(pos, iface)
return iface
}
@@ -762,7 +761,7 @@ func optype(typ Type) Type {
if t := asTypeParam(typ); t != nil {
// If the optype is typ, return the top type as we have
// no information. It also prevents infinite recursion
- // via the TypeParam converter methods. This can happen
+ // via the asTypeParam converter function. This can happen
// for a type parameter list of the form:
// (type T interface { type T }).
// See also issue #39680.