]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/types: change NewNamed to use TypeObject
authorMatthew Dempsky <mdempsky@google.com>
Sat, 28 Aug 2021 00:57:04 +0000 (17:57 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Sat, 28 Aug 2021 01:26:53 +0000 (01:26 +0000)
Semantically, TypeObject is the interface that go/types.TypeName would
implement, so we might as well use that instead of the more generic
Object (analog to go/types.Object) for NewNamed. In practice, this
doesn't really matter though, because we use *ir.Name for almost all
Objects anyway.

Also, remove VarObject: its last use was removed in CL 302071 (March
2021).

Change-Id: I6e987ecd419105e09f74fc8d60cadb61bcbc751f
Reviewed-on: https://go-review.googlesource.com/c/go/+/345810
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Robert Griesemer <gri@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/compile/internal/types/type.go

index dafd76c79ab81e71906ddec963e8083212d5589b..f1fb93ad1be6d5f66df38142185d5130b2e05b18 100644 (file)
@@ -27,12 +27,6 @@ type TypeObject interface {
        TypeDefn() *Type // for "type T Defn", returns Defn
 }
 
-// A VarObject is an Object representing a function argument, variable, or struct field.
-type VarObject interface {
-       Object
-       RecordFrameOffset(int64) // save frame offset
-}
-
 //go:generate stringer -type Kind -trimprefix T type.go
 
 // Kind describes a kind of type.
@@ -1726,7 +1720,7 @@ var (
 // type should be set later via SetUnderlying(). References to the type are
 // maintained until the type is filled in, so those references can be updated when
 // the type is complete.
-func NewNamed(obj Object) *Type {
+func NewNamed(obj TypeObject) *Type {
        t := newType(TFORW)
        t.sym = obj.Sym()
        t.nod = obj