diff options
author | Dan Scales <danscales@google.com> | 2021-04-02 16:52:58 -0700 |
---|---|---|
committer | Dan Scales <danscales@google.com> | 2021-04-05 15:30:15 +0000 |
commit | a4b8241d97fb180e1b9cb41c4828345c931d1aaf (patch) | |
tree | c38279cd1a5493824af9384b7cd8765cea58a63b /src/cmd/compile/internal/noder/helpers.go | |
parent | 6ed045b365731e59fcae48de48f1aea7a6304eb3 (diff) | |
download | go-a4b8241d97fb180e1b9cb41c4828345c931d1aaf.tar.gz go-a4b8241d97fb180e1b9cb41c4828345c931d1aaf.zip |
cmd/compile: get rid of Fields in types.Interface, use allMethods in types.Type instead
Confusingly, the set of all methods of an interface is currently set in
Fields field of types.Interface. This is true, even though there is
already an allMethods field (and AllMethods method) of types.Type.
Change so the set of all methods of an interface are stored in
Type.allMethods, and Interface.Fields is removed. Update the comments
for Methods and AllMethods.
Change-Id: Ibc32bafae86831cba62606b079a855690612c759
Reviewed-on: https://go-review.googlesource.com/c/go/+/307209
Run-TryBot: Dan Scales <danscales@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dan Scales <danscales@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/compile/internal/noder/helpers.go')
-rw-r--r-- | src/cmd/compile/internal/noder/helpers.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/noder/helpers.go b/src/cmd/compile/internal/noder/helpers.go index 6320b30e50..9da0e49300 100644 --- a/src/cmd/compile/internal/noder/helpers.go +++ b/src/cmd/compile/internal/noder/helpers.go @@ -259,7 +259,7 @@ func dot(pos src.XPos, typ *types.Type, op ir.Op, x ir.Node, selection *types.Fi // TODO(mdempsky): Move to package types. func method(typ *types.Type, index int) *types.Field { if typ.IsInterface() { - return typ.Field(index) + return typ.AllMethods().Index(index) } return types.ReceiverBaseType(typ).Methods().Index(index) } |