]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: remove ir.Name.TypeDefn
authorMatthew Dempsky <mdempsky@google.com>
Tue, 3 May 2022 00:37:44 +0000 (17:37 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Thu, 5 May 2022 18:48:17 +0000 (18:48 +0000)
This method used to be needed so the legacy typechecker could report
type declaration loops, but that's handled by types2 now.

Change-Id: Ie0d89e6dcff277778b12ed960b6b31669fd903a7
Reviewed-on: https://go-review.googlesource.com/c/go/+/403838
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
src/cmd/compile/internal/ir/name.go
src/cmd/compile/internal/types/type.go

index 183aa6db7c6706ae9d4f1c7562c7c976bffa27ff..d057b3eafa604d0e666f755e0e01fb899f3348c3 100644 (file)
@@ -141,16 +141,6 @@ func (n *Name) copy() Node                         { panic(n.no("copy")) }
 func (n *Name) doChildren(do func(Node) bool) bool { return false }
 func (n *Name) editChildren(edit func(Node) Node)  {}
 
-// TypeDefn returns the type definition for a named OTYPE.
-// That is, given "type T Defn", it returns Defn.
-// It is used by package types.
-func (n *Name) TypeDefn() *types.Type {
-       if n.Ntype != nil {
-               return n.Ntype.Type()
-       }
-       return n.Type()
-}
-
 // RecordFrameOffset records the frame offset for the name.
 // It is used by package types when laying out function arguments.
 func (n *Name) RecordFrameOffset(offset int64) {
index 987352babc7d83baf06a0b0c102f827827cf0c29..c8fe31e7180d5e2d731e878b037afe002355659e 100644 (file)
@@ -21,12 +21,6 @@ type Object interface {
        Type() *Type
 }
 
-// A TypeObject is an Object representing a named type.
-type TypeObject interface {
-       Object
-       TypeDefn() *Type // for "type T Defn", returns Defn
-}
-
 //go:generate stringer -type Kind -trimprefix T type.go
 
 // Kind describes a kind of type.
@@ -1722,7 +1716,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 TypeObject) *Type {
+func NewNamed(obj Object) *Type {
        t := newType(TFORW)
        t.sym = obj.Sym()
        t.nod = obj