Change-Id: Ica0ec84714d7f01d800d62fa10cdb08321d43cf3
Reviewed-on: https://go-review.googlesource.com/21967
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
ok |= Etype
if n.Type == nil {
- n.Type = nil
return n
}
n.Op = OTYPE
n.Type = tointerface(n.List.Slice())
if n.Type == nil {
- n.Type = nil
return n
}
n.Op = OTYPE
n.Type = functype(n.Left, n.List.Slice(), n.Rlist.Slice())
if n.Type == nil {
- n.Type = nil
return n
}
n.Left = nil
ok |= Erv
n = typecheckcomplit(n)
if n.Type == nil {
- n.Type = nil
return n
}
break OpSwitch
if n.Type.Etype != TFUNC || n.Type.Recv() == nil {
Yyerror("type %v has no method %v", n.Left.Type, Sconv(n.Right.Sym, FmtShort))
n.Type = nil
- n.Type = nil
return n
}
ok |= Erv
typecheckclosure(n, top)
if n.Type == nil {
- n.Type = nil
return n
}
break OpSwitch