From 5aff757efc1562e14e53c74bb17b2374b45bc172 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Mon, 14 Dec 2020 16:07:05 -0800 Subject: [PATCH] [dev.typeparams] cmd/compile/internal/gc: provide types2 selection info to noder Change-Id: I231e3a1c9f663e2a63c0ad73d571c7a00005f50b Reviewed-on: https://go-review.googlesource.com/c/go/+/278092 Trust: Robert Griesemer Trust: Dan Scales Run-TryBot: Robert Griesemer Reviewed-by: Dan Scales TryBot-Result: Go Bot --- src/cmd/compile/internal/gc/noder.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/cmd/compile/internal/gc/noder.go b/src/cmd/compile/internal/gc/noder.go index 7ec81e34b0..8ae88a100c 100644 --- a/src/cmd/compile/internal/gc/noder.go +++ b/src/cmd/compile/internal/gc/noder.go @@ -114,9 +114,10 @@ func parseFiles(filenames []string) (lines uint) { }, } info := types2.Info{ - Types: make(map[syntax.Expr]types2.TypeAndValue), - Defs: make(map[*syntax.Name]types2.Object), - Uses: make(map[*syntax.Name]types2.Object), + Types: make(map[syntax.Expr]types2.TypeAndValue), + Defs: make(map[*syntax.Name]types2.Object), + Uses: make(map[*syntax.Name]types2.Object), + Selections: make(map[*syntax.SelectorExpr]*types2.Selection), // expand as needed } conf.Check(base.Ctxt.Pkgpath, files, &info) @@ -283,6 +284,11 @@ func (p *noder) use(x *syntax.Name) types2.Object { return p.typeInfo.Uses[x] } +// sel returns the selection information for the given selector expression. +func (p *noder) sel(x *syntax.SelectorExpr) *types2.Selection { + return p.typeInfo.Selections[x] +} + func (p *noder) funcBody(fn *ir.Func, block *syntax.BlockStmt) { oldScope := p.scope p.scope = 0 -- 2.50.0