// everything else just recurs
default:
- f.walkUnexpected(x, context, visit)
+ error_(token.NoPos, "unexpected type %T in walk", x)
+ panic("unexpected type")
case nil:
case *ast.IndexExpr:
f.walk(&n.X, ctxExpr, visit)
f.walk(&n.Index, ctxExpr, visit)
+ case *ast.IndexListExpr:
+ f.walk(&n.X, ctxExpr, visit)
+ f.walk(n.Indices, ctxExpr, visit)
case *ast.SliceExpr:
f.walk(&n.X, ctxExpr, visit)
if n.Low != nil {
case *ast.StructType:
f.walk(n.Fields, ctxField, visit)
case *ast.FuncType:
- if tparams := funcTypeTypeParams(n); tparams != nil {
- f.walk(tparams, ctxParam, visit)
+ if n.TypeParams != nil {
+ f.walk(n.TypeParams, ctxParam, visit)
}
f.walk(n.Params, ctxParam, visit)
if n.Results != nil {
f.walk(n.Values, ctxExpr, visit)
}
case *ast.TypeSpec:
- if tparams := typeSpecTypeParams(n); tparams != nil {
- f.walk(tparams, ctxParam, visit)
+ if n.TypeParams != nil {
+ f.walk(n.TypeParams, ctxParam, visit)
}
f.walk(&n.Type, ctxType, visit)
+++ /dev/null
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build compiler_bootstrap
-
-package main
-
-import (
- "go/ast"
- "go/token"
-)
-
-func (f *File) walkUnexpected(x interface{}, context astContext, visit func(*File, interface{}, astContext)) {
- error_(token.NoPos, "unexpected type %T in walk", x)
- panic("unexpected type")
-}
-
-func funcTypeTypeParams(n *ast.FuncType) *ast.FieldList {
- return nil
-}
-
-func typeSpecTypeParams(n *ast.TypeSpec) *ast.FieldList {
- return nil
-}
+++ /dev/null
-// Copyright 2021 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !compiler_bootstrap
-
-package main
-
-import (
- "go/ast"
- "go/token"
-)
-
-func (f *File) walkUnexpected(x interface{}, context astContext, visit func(*File, interface{}, astContext)) {
- switch n := x.(type) {
- default:
- error_(token.NoPos, "unexpected type %T in walk", x)
- panic("unexpected type")
-
- case *ast.IndexListExpr:
- f.walk(&n.X, ctxExpr, visit)
- f.walk(n.Indices, ctxExpr, visit)
- }
-}
-
-func funcTypeTypeParams(n *ast.FuncType) *ast.FieldList {
- return n.TypeParams
-}
-
-func typeSpecTypeParams(n *ast.TypeSpec) *ast.FieldList {
- return n.TypeParams
-}