go/types: use mustParse helper to simplify tests where possible

Note: types2 either deosn't have these tests or is already using
      a short form.

Change-Id: I729282e9ff574010490604814134756df5824f4b
Reviewed-on: https://go-review.googlesource.com/c/go/+/780100
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Robert Griesemer <gri@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
Robert Griesemer 2026-05-19 14:07:55 -07:00 committed by Gopher Robot
parent b12ed667d9
commit 2760c3f5a3
6 changed files with 14 additions and 39 deletions

View file

@ -6,7 +6,6 @@ package types_test
import (
"go/ast"
"go/parser"
"go/token"
"go/types"
"testing"
@ -28,10 +27,7 @@ type B struct {
type A[T any] struct{}`
fset := token.NewFileSet()
file, err := parser.ParseFile(fset, "p.go", src, parser.ParseComments)
if err != nil {
t.Fatalf("could not parse: %v", err)
}
file := mustParse(fset, src)
conf := types.Config{}
pkg, err := conf.Check(file.Name.Name, fset, []*ast.File{file}, &types.Info{})
@ -59,10 +55,7 @@ func TestPartialTypeCheckUndeclaredAliasPanic(t *testing.T) {
type A = B // undeclared`
fset := token.NewFileSet()
file, err := parser.ParseFile(fset, "p.go", src, parser.ParseComments|parser.SkipObjectResolution)
if err != nil {
t.Fatalf("could not parse: %v", err)
}
file := mustParse(fset, src)
conf := types.Config{} // no error handler, panic
pkg, _ := conf.Check(file.Name.Name, fset, []*ast.File{file}, &types.Info{})

View file

@ -3055,7 +3055,7 @@ type C = int
// to compute which file it is "in" based on syntax position.
func TestVersionIssue69477(t *testing.T) {
fset := token.NewFileSet()
f, _ := parser.ParseFile(fset, "a.go", "package p; const k = 123", parser.SkipObjectResolution)
f := mustParse(fset, "package p; const k = 123")
// Set an invalid Pos on the BasicLit.
ast.Inspect(f, func(n ast.Node) bool {
@ -3085,10 +3085,10 @@ func TestVersionIssue69477(t *testing.T) {
// The Checker now holds the effective version in a state variable.
func TestVersionWithoutPos(t *testing.T) {
fset := token.NewFileSet()
f, _ := parser.ParseFile(fset, "a.go", "//go:build go1.22\n\npackage p; var _ int", parser.SkipObjectResolution)
f := mustParse(fset, "//go:build go1.22\n\npackage p; var _ int")
// Splice in a decl from another file. Its pos will be wrong.
f2, _ := parser.ParseFile(fset, "a.go", "package q; func _(s func(func() bool)) { for range s {} }", parser.SkipObjectResolution)
f2 := mustParse(fset, "package q; func _(s func(func() bool)) { for range s {} }")
f.Decls[0] = f2.Decls[0]
// Type check. The checker will consult the effective
@ -3107,7 +3107,7 @@ func TestVersionWithoutPos(t *testing.T) {
func TestVarKind(t *testing.T) {
fset := token.NewFileSet()
f, _ := parser.ParseFile(fset, "a.go", `package p
f := mustParse(fset, `package p
var global int
@ -3121,8 +3121,7 @@ func (recv T) f(param int) (result int) {
_ = local3
}
return local2
}
`, parser.SkipObjectResolution)
}`)
pkg := NewPackage("p", "p")
info := &Info{Defs: make(map[*ast.Ident]Object)}
@ -3160,7 +3159,7 @@ type B []byte
var _ = f[B]
`
fset := token.NewFileSet()
f, _ := parser.ParseFile(fset, "p.go", src, parser.SkipObjectResolution)
f := mustParse(fset, src)
pkg := NewPackage("p", "p")
info := &Info{Types: make(map[ast.Expr]TypeAndValue)}

View file

@ -241,10 +241,7 @@ func f(a int, s string) S {
}`
fset := token.NewFileSet()
f, err := parser.ParseFile(fset, "p", src, parser.ParseComments|parser.SkipObjectResolution)
if err != nil {
t.Fatal(err)
}
f := mustParse(fset, src)
conf := Config{Importer: defaultImporter(fset)}
pkg, err := conf.Check("p", fset, []*ast.File{f}, nil)

View file

@ -19,7 +19,6 @@ import (
"fmt"
"go/ast"
"go/format"
"go/parser"
"go/token"
"go/types"
"log"
@ -117,10 +116,7 @@ type S struct { I; m int }
type I interface { m() byte }
`
fset := token.NewFileSet()
f, err := parser.ParseFile(fset, "celsius.go", input, parser.SkipObjectResolution)
if err != nil {
log.Fatal(err)
}
f := mustParse(fset, input)
// Type-check a package consisting of this file.
// Type information for the imported packages

View file

@ -8,7 +8,6 @@ package types_test
import (
"go/ast"
"go/parser"
"go/token"
"go/types"
"hash/maphash"
@ -95,10 +94,7 @@ type Tagged2 struct { F int "tag2" }
`
fset := token.NewFileSet()
file, err := parser.ParseFile(fset, "p.go", src, parser.SkipObjectResolution)
if err != nil {
t.Fatal(err)
}
file := mustParse(fset, src)
var conf types.Config
pkg, err := conf.Check("", fset, []*ast.File{file}, nil)

View file

@ -10,7 +10,6 @@ import (
"testing"
"go/ast"
"go/parser"
"go/token"
. "go/types"
)
@ -144,10 +143,8 @@ type Instance = *Tree[int]
`
fset := token.NewFileSet()
f, err := parser.ParseFile(fset, "foo.go", src, parser.SkipObjectResolution)
if err != nil {
panic(err)
}
f := mustParse(fset, src)
pkg := NewPackage("pkg", f.Name.Name)
if err := NewChecker(nil, fset, pkg, nil).Files([]*ast.File{f}); err != nil {
panic(err)
@ -165,10 +162,7 @@ func (T) m() {} // expected error: invalid receiver type
`
fset := token.NewFileSet()
f, err := parser.ParseFile(fset, "p.go", src, parser.SkipObjectResolution)
if err != nil {
t.Fatal(err)
}
f := mustParse(fset, src)
var conf Config
pkg, err := conf.Check("p", fset, []*ast.File{f}, nil)