mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: change ignorecase param types to bool
Change-Id: I93b4821254c9b0a3cebd912f447ed58f20adeb58 Reviewed-on: https://go-review.googlesource.com/19937 Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
49dad0f571
commit
211cc40b11
1 changed files with 10 additions and 10 deletions
|
|
@ -1580,7 +1580,7 @@ var dotlist = make([]Dlist, 10)
|
||||||
// lookdot0 returns the number of fields or methods named s associated
|
// lookdot0 returns the number of fields or methods named s associated
|
||||||
// with Type t. If exactly one exists, it will be returned in *save
|
// with Type t. If exactly one exists, it will be returned in *save
|
||||||
// (if save is not nil).
|
// (if save is not nil).
|
||||||
func lookdot0(s *Sym, t *Type, save **Type, ignorecase int) int {
|
func lookdot0(s *Sym, t *Type, save **Type, ignorecase bool) int {
|
||||||
u := t
|
u := t
|
||||||
if Isptr[u.Etype] {
|
if Isptr[u.Etype] {
|
||||||
u = u.Type
|
u = u.Type
|
||||||
|
|
@ -1589,7 +1589,7 @@ func lookdot0(s *Sym, t *Type, save **Type, ignorecase int) int {
|
||||||
c := 0
|
c := 0
|
||||||
if u.Etype == TSTRUCT || u.Etype == TINTER {
|
if u.Etype == TSTRUCT || u.Etype == TINTER {
|
||||||
for f := u.Type; f != nil; f = f.Down {
|
for f := u.Type; f != nil; f = f.Down {
|
||||||
if f.Sym == s || (ignorecase != 0 && f.Type.Etype == TFUNC && f.Type.Thistuple > 0 && strings.EqualFold(f.Sym.Name, s.Name)) {
|
if f.Sym == s || (ignorecase && f.Type.Etype == TFUNC && f.Type.Thistuple > 0 && strings.EqualFold(f.Sym.Name, s.Name)) {
|
||||||
if save != nil {
|
if save != nil {
|
||||||
*save = f
|
*save = f
|
||||||
}
|
}
|
||||||
|
|
@ -1601,7 +1601,7 @@ func lookdot0(s *Sym, t *Type, save **Type, ignorecase int) int {
|
||||||
u = methtype(t, 0)
|
u = methtype(t, 0)
|
||||||
if u != nil {
|
if u != nil {
|
||||||
for f := u.Method; f != nil; f = f.Down {
|
for f := u.Method; f != nil; f = f.Down {
|
||||||
if f.Embedded == 0 && (f.Sym == s || (ignorecase != 0 && strings.EqualFold(f.Sym.Name, s.Name))) {
|
if f.Embedded == 0 && (f.Sym == s || (ignorecase && strings.EqualFold(f.Sym.Name, s.Name))) {
|
||||||
if save != nil {
|
if save != nil {
|
||||||
*save = f
|
*save = f
|
||||||
}
|
}
|
||||||
|
|
@ -1619,7 +1619,7 @@ func lookdot0(s *Sym, t *Type, save **Type, ignorecase int) int {
|
||||||
// in reverse order. If none exist, more will indicate whether t contains any
|
// in reverse order. If none exist, more will indicate whether t contains any
|
||||||
// embedded fields at depth d, so callers can decide whether to retry at
|
// embedded fields at depth d, so callers can decide whether to retry at
|
||||||
// a greater depth.
|
// a greater depth.
|
||||||
func adddot1(s *Sym, t *Type, d int, save **Type, ignorecase int) (c int, more bool) {
|
func adddot1(s *Sym, t *Type, d int, save **Type, ignorecase bool) (c int, more bool) {
|
||||||
if t.Trecur != 0 {
|
if t.Trecur != 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -1673,7 +1673,7 @@ out:
|
||||||
// a selection expression x.f, where x is of type t and f is the symbol s.
|
// a selection expression x.f, where x is of type t and f is the symbol s.
|
||||||
// If no such path exists, dotpath returns nil.
|
// If no such path exists, dotpath returns nil.
|
||||||
// If there are multiple shortest paths to the same depth, ambig is true.
|
// If there are multiple shortest paths to the same depth, ambig is true.
|
||||||
func dotpath(s *Sym, t *Type, save **Type, ignorecase int) (path []Dlist, ambig bool) {
|
func dotpath(s *Sym, t *Type, save **Type, ignorecase bool) (path []Dlist, ambig bool) {
|
||||||
// The embedding of types within structs imposes a tree structure onto
|
// The embedding of types within structs imposes a tree structure onto
|
||||||
// types: structs parent the types they embed, and types parent their
|
// types: structs parent the types they embed, and types parent their
|
||||||
// fields or methods. Our goal here is to find the shortest path to
|
// fields or methods. Our goal here is to find the shortest path to
|
||||||
|
|
@ -1718,7 +1718,7 @@ func adddot(n *Node) *Node {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
switch path, ambig := dotpath(s, t, nil, 0); {
|
switch path, ambig := dotpath(s, t, nil, false); {
|
||||||
case path != nil:
|
case path != nil:
|
||||||
// rebuild elided dots
|
// rebuild elided dots
|
||||||
for c := len(path) - 1; c >= 0; c-- {
|
for c := len(path) - 1; c >= 0; c-- {
|
||||||
|
|
@ -1845,7 +1845,7 @@ func expandmeth(t *Type) {
|
||||||
// check each method to be uniquely reachable
|
// check each method to be uniquely reachable
|
||||||
for sl := slist; sl != nil; sl = sl.link {
|
for sl := slist; sl != nil; sl = sl.link {
|
||||||
sl.field.Sym.Flags &^= SymUniq
|
sl.field.Sym.Flags &^= SymUniq
|
||||||
if path, _ := dotpath(sl.field.Sym, t, &f, 0); path == nil {
|
if path, _ := dotpath(sl.field.Sym, t, &f, false); path == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// dotpath may have dug out arbitrary fields, we only want methods.
|
// dotpath may have dug out arbitrary fields, we only want methods.
|
||||||
|
|
@ -2072,7 +2072,7 @@ func hashmem(t *Type) *Node {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
func ifacelookdot(s *Sym, t *Type, followptr *bool, ignorecase int) *Type {
|
func ifacelookdot(s *Sym, t *Type, followptr *bool, ignorecase bool) *Type {
|
||||||
*followptr = false
|
*followptr = false
|
||||||
|
|
||||||
if t == nil {
|
if t == nil {
|
||||||
|
|
@ -2151,10 +2151,10 @@ func implements(t *Type, iface *Type, m **Type, samename **Type, ptr *int) bool
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
imtype = methodfunc(im.Type, nil)
|
imtype = methodfunc(im.Type, nil)
|
||||||
tm = ifacelookdot(im.Sym, t, &followptr, 0)
|
tm = ifacelookdot(im.Sym, t, &followptr, false)
|
||||||
if tm == nil || tm.Nointerface || !Eqtype(methodfunc(tm.Type, nil), imtype) {
|
if tm == nil || tm.Nointerface || !Eqtype(methodfunc(tm.Type, nil), imtype) {
|
||||||
if tm == nil {
|
if tm == nil {
|
||||||
tm = ifacelookdot(im.Sym, t, &followptr, 1)
|
tm = ifacelookdot(im.Sym, t, &followptr, true)
|
||||||
}
|
}
|
||||||
*m = im
|
*m = im
|
||||||
*samename = tm
|
*samename = tm
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue