We do not lookup/devirtualize such, so we can skip tracking them.
Change-Id: I8bdb0b11c694e4b2326c236093508a356a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/711160
Reviewed-by: Keith Randall <khr@golang.org>
Auto-Submit: Keith Randall <khr@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
if fun == nil {
base.FatalfAt(n.Pos(), "n.Curfn = <nil>")
}
+ if n.Class != ir.PAUTO {
+ base.FatalfAt(n.Pos(), "n.Class = %v; want = PAUTO", n.Class)
+ }
if !n.Type().IsInterface() {
base.FatalfAt(n.Pos(), "name passed to assignments is not of an interface type: %v", n.Type())
if n.Op() != ir.ONAME {
base.FatalfAt(n.Pos(), "n.Op = %v; want = ONAME", n.Op())
}
+ if n.Class != ir.PAUTO {
+ return nil, -1
+ }
switch a := assignment.(type) {
case nil: