mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: sort interface methods in tointerface0
Might as well sort them while they're still in a slice. Change-Id: I40c25ddc5c054dcb4da2aeefa79947967609d599 Reviewed-on: https://go-review.googlesource.com/20591 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
53984e5be2
commit
d9bb693960
2 changed files with 2 additions and 8 deletions
|
|
@ -7,6 +7,7 @@ package gc
|
|||
import (
|
||||
"cmd/internal/obj"
|
||||
"fmt"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
|
|
@ -975,6 +976,7 @@ func tointerface0(t *Type, l []*Node) *Type {
|
|||
fields = append(fields, f)
|
||||
}
|
||||
}
|
||||
sort.Sort(methcmp(fields))
|
||||
t.SetFields(fields)
|
||||
|
||||
for f, it := IterFields(t); f != nil && !t.Broke; f = it.Next() {
|
||||
|
|
@ -984,7 +986,6 @@ func tointerface0(t *Type, l []*Node) *Type {
|
|||
}
|
||||
|
||||
checkdupfields("method", t)
|
||||
t = sortinter(t)
|
||||
checkwidth(t)
|
||||
|
||||
return t
|
||||
|
|
|
|||
|
|
@ -416,13 +416,6 @@ func (x methcmp) Less(i, j int) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func sortinter(t *Type) *Type {
|
||||
s := t.FieldSlice()
|
||||
sort.Sort(methcmp(s))
|
||||
t.SetFields(s)
|
||||
return t
|
||||
}
|
||||
|
||||
func Nodintconst(v int64) *Node {
|
||||
c := Nod(OLITERAL, nil, nil)
|
||||
c.Addable = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue