]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.typeparams] cmd/compile: disambiguate OXDOT in noder using types2 Selection...
authorDan Scales <danscales@google.com>
Tue, 19 Jan 2021 21:54:33 +0000 (13:54 -0800)
committerDan Scales <danscales@google.com>
Fri, 22 Jan 2021 17:16:22 +0000 (17:16 +0000)
commit12cd9cf7e080806f86595d71078a30e654458ebe
treee07920049ee8de09c6796fdad9654b9e9b9e57ee
parentf8654579cdd637167bb38d38f0de76abc812d34c
[dev.typeparams] cmd/compile: disambiguate OXDOT in noder using types2 Selection info

By using the types2 Selection information, we can create ODOT, ODOTPTR,
OCALLPART, ODOTMETH, ODOTINTER, and OMETHEXPR nodes directly in noder,
so we don't have to do that functionality in typecheck.go. Intermediate
nodes are created as needed for embedded fields. Don't have to typecheck
the results of g.selectorExpr(), because we set the types of all the
needed nodes.

There is one bug remaining in 'go test reflect' that will be fixed when dev.regabi is merged.

Change-Id: I4599d43197783e318610deb2f208137f9344ab63
Reviewed-on: https://go-review.googlesource.com/c/go/+/285373
Run-TryBot: Dan Scales <danscales@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dan Scales <danscales@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/noder/expr.go
src/cmd/compile/internal/noder/helpers.go
src/cmd/compile/internal/noder/irgen.go
src/cmd/compile/internal/typecheck/subr.go
src/reflect/all_test.go