mirror of
https://github.com/golang/go.git
synced 2026-06-27 03:11:23 +00:00
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:
parent
b12ed667d9
commit
2760c3f5a3
6 changed files with 14 additions and 39 deletions
|
|
@ -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{})
|
||||
|
|
|
|||
|
|
@ -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)}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue