// pkgFor parses and type checks the package specified by path and source,
// populating info if provided.
func pkgFor(path, source string, info *Info) (*Package, error) {
- return pkgForMode(path, source, info, 0)
-}
-
-func pkgForMode(path, source string, info *Info, mode parser.Mode) (*Package, error) {
fset := token.NewFileSet()
- f, err := parser.ParseFile(fset, path, source, mode)
+ f, err := parser.ParseFile(fset, path, source, 0)
if err != nil {
return nil, err
}
}
for _, test := range tests {
- pkg, err := pkgForMode("test", "package p;"+test.src, nil, 0)
+ pkg, err := pkgFor("test", "package p;"+test.src, nil)
if err != nil {
t.Errorf("%s: incorrect test case: %s", test.src, err)
continue
}
for _, test := range tests {
- pkg, err := pkgForMode("test", "package p;"+test.src, nil, 0)
+ pkg, err := pkgFor("test", "package p;"+test.src, nil)
if err != nil {
t.Errorf("%s: incorrect test case: %s", test.src, err)
continue
func TestInstantiate(t *testing.T) {
// eventually we like more tests but this is a start
const src = "package p; type T[P any] *T[P]"
- pkg, err := pkgForMode(".", src, nil, 0)
+ pkg, err := pkgFor(".", src, nil)
if err != nil {
t.Fatal(err)
}
for _, test := range tests {
src := "package p; " + test.src
- pkg, err := pkgForMode(".", src, nil, 0)
+ pkg, err := pkgFor(".", src, nil)
if err != nil {
t.Fatal(err)
}
}
for _, test := range tests {
- pkg, err := pkgForMode(".", test.src, nil, 0)
+ pkg, err := pkgFor(".", test.src, nil)
if err != nil {
t.Fatal(err)
}
func TestInstantiateNonEquality(t *testing.T) {
const src = "package p; type T[P any] int"
- pkg1, err := pkgForMode(".", src, nil, 0)
+ pkg1, err := pkgFor(".", src, nil)
if err != nil {
t.Fatal(err)
}
- pkg2, err := pkgForMode(".", src, nil, 0)
+ pkg2, err := pkgFor(".", src, nil)
if err != nil {
t.Fatal(err)
}
for _, test := range tests {
src := prefix + test.decl
- pkg, err := pkgForMode(".", src, nil, 0)
+ pkg, err := pkgFor(".", src, nil)
if err != nil {
t.Fatal(err)
}
var _ T[int]
`
- pkg, err := pkgForMode(".", src, nil, 0)
+ pkg, err := pkgFor(".", src, nil)
if err != nil {
t.Fatal(err)
}