]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.typeparams] cmd/compile/internal/gc: provide types2 selection info to noder
authorRobert Griesemer <gri@golang.org>
Tue, 15 Dec 2020 00:07:05 +0000 (16:07 -0800)
committerRobert Griesemer <gri@golang.org>
Tue, 15 Dec 2020 00:27:36 +0000 (00:27 +0000)
Change-Id: I231e3a1c9f663e2a63c0ad73d571c7a00005f50b
Reviewed-on: https://go-review.googlesource.com/c/go/+/278092
Trust: Robert Griesemer <gri@golang.org>
Trust: Dan Scales <danscales@google.com>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/compile/internal/gc/noder.go

index 7ec81e34b0500a0bbce885509cdd0e05ef16942a..8ae88a100c0e46d036a62d6cedf4f0223ee6ad7d 100644 (file)
@@ -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