mirror of
https://github.com/golang/go
synced 2024-11-22 20:50:05 -07:00
go/ast: fix broken build with typeparams build constraint
My rebase of https://golang.org/cl/300649 before submitting broke the build (and tests) when using the typeparams build constraint. In a subsequent CL I add test coverage back to cmd/dist. This time, I've tested by running: - go test -tags=typeparams go/... - go test -tags=typeparams cmd/gofmt All tests pass except for the new TestResolution/typeparams.go2, which I will fix in a follow-up CL. For #44933 Change-Id: I439d387841604cf43a90e2ce41dbe6bbbdb0306d Reviewed-on: https://go-review.googlesource.com/c/go/+/310070 Trust: Robert Findley <rfindley@google.com> Trust: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
This commit is contained in:
parent
492faaeda8
commit
bcbde83c20
@ -112,7 +112,11 @@ func Walk(v Visitor, node Node) {
|
||||
|
||||
case *IndexExpr:
|
||||
Walk(v, n.X)
|
||||
Walk(v, n.Index)
|
||||
// n.Index may be nil for invalid type instantiation expressions, e.g.
|
||||
// var x T[].
|
||||
if n.Index != nil {
|
||||
Walk(v, n.Index)
|
||||
}
|
||||
|
||||
case *SliceExpr:
|
||||
Walk(v, n.X)
|
||||
|
@ -7,6 +7,10 @@
|
||||
|
||||
package ast
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func walkFuncTypeParams(v Visitor, n *FuncType) {
|
||||
if n.TParams != nil {
|
||||
Walk(v, n.TParams)
|
||||
@ -20,9 +24,11 @@ func walkTypeSpecParams(v Visitor, n *TypeSpec) {
|
||||
}
|
||||
|
||||
func walkOtherNodes(v Visitor, n Node) {
|
||||
if e, ok := n.(*ast.ListExpr); ok {
|
||||
if e, ok := n.(*ListExpr); ok {
|
||||
if e != nil {
|
||||
Walk(v, e)
|
||||
for _, elem := range e.ElemList {
|
||||
Walk(v, elem)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
panic(fmt.Sprintf("ast.Walk: unexpected node type %T", n))
|
||||
|
Loading…
Reference in New Issue
Block a user