After earlier importer refactorings, most of the importer is now
reentrant, so we don't need to guard against it at Resolve. The only
remaining part that is still not reentrant is inline body importing,
so move the recursive-import check there.
Passes toolstash -cmp.
Change-Id: Ia828f880a03e6125b102668c12a155d4c253d26b
Reviewed-on: https://go-review.googlesource.com/c/go/+/280515
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
base.Fatalf("missing import reader for %v", fn)
}
+ if inimport {
+ base.Fatalf("recursive inimport")
+ }
+ inimport = true
r.doInline(fn)
+ inimport = false
}
func importReaderFor(sym *types.Sym, importers map[*types.Sym]iimporterAndOffset) *importReader {
}
}
- if inimport {
- base.Fatalf("recursive inimport")
- }
- inimport = true
- n = expandDecl(n)
- inimport = false
- return n
+ return expandDecl(n)
}
r := ir.AsNode(n.Sym().Def)