build: instantiate generics

This commit is contained in:
visualfc
2024-06-18 12:20:54 +08:00
parent 2b491179f7
commit d59075e897
13 changed files with 672 additions and 9 deletions

View File

@@ -63,7 +63,7 @@ func Gen(pkgPath, inFile string, src any) string {
pkg := types.NewPackage(pkgPath, name)
imp := packages.NewImporter(fset)
ssaPkg, _, err := ssautil.BuildPackage(
&types.Config{Importer: imp}, fset, pkg, files, ssa.SanityCheckFunctions)
&types.Config{Importer: imp}, fset, pkg, files, ssa.SanityCheckFunctions|ssa.InstantiateGenerics)
check(err)
if Verbose {

View File

@@ -68,7 +68,7 @@ func GenFrom(fileOrPkg string) string {
initial, err := packages.LoadEx(nil, prog.TypeSizes, cfg, fileOrPkg)
check(err)
_, pkgs := ssautil.AllPackages(initial, ssa.SanityCheckFunctions)
_, pkgs := ssautil.AllPackages(initial, ssa.SanityCheckFunctions|ssa.InstantiateGenerics)
pkg := initial[0]
ssaPkg := pkgs[0]