diff --git a/cl/compile.go b/cl/compile.go index a15fa4ed..9487fb55 100644 --- a/cl/compile.go +++ b/cl/compile.go @@ -283,10 +283,7 @@ func (p *context) compileValues(b llssa.Builder, vals []ssa.Value, hasVArg int) // ----------------------------------------------------------------------------- // NewPackage compiles a Go package to LLVM IR package. -func NewPackage( - prog llssa.Program, - fset *token.FileSet, pkg *ssa.Package, files []*ast.File) (ret llssa.Package, err error) { - +func NewPackage(prog llssa.Program, pkg *ssa.Package, files []*ast.File) (ret llssa.Package, err error) { type namedMember struct { name string val ssa.Member @@ -311,7 +308,7 @@ func NewPackage( ctx := &context{ prog: prog, pkg: ret, - fset: fset, + fset: pkg.Prog.Fset, goPkg: pkg, link: make(map[string]string), loaded: make(map[*types.Package]none), diff --git a/cl/compile_test.go b/cl/compile_test.go index 49c6650d..9b72311f 100644 --- a/cl/compile_test.go +++ b/cl/compile_test.go @@ -35,7 +35,7 @@ import ( ) func TestFromTestdata(t *testing.T) { - testFromDir(t, "importpkg", "./_testdata") + testFromDir(t, "", "./_testdata") } func init() { @@ -97,7 +97,7 @@ func testCompileEx(t *testing.T, src any, fname, expected string) { } foo.WriteTo(os.Stderr) prog := llssa.NewProgram(nil) - ret, err := NewPackage(prog, fset, foo, files) + ret, err := NewPackage(prog, foo, files) if err != nil { t.Fatal("cl.NewPackage failed:", err) } diff --git a/cl/import.go b/cl/import.go index c9746a64..1b2008f8 100644 --- a/cl/import.go +++ b/cl/import.go @@ -58,7 +58,7 @@ func (p *context) importPkg(pkg *types.Package) { if obj, ok := obj.(*types.Func); ok { if pos := obj.Pos(); pos != token.NoPos { f := fset.File(pos) - if fp := f.PositionFor(pos, false); fp.Line > 2 { + if fp := f.Position(pos); fp.Line > 2 { lines, err := contentOf(contents, fp.Filename) if err != nil { panic(err) diff --git a/internal/llgen/llgen.go b/internal/llgen/llgen.go index c9acab14..23c59be4 100644 --- a/internal/llgen/llgen.go +++ b/internal/llgen/llgen.go @@ -59,7 +59,7 @@ func Gen(inFile string, src any) string { ssaPkg.WriteTo(os.Stderr) prog := llssa.NewProgram(nil) - ret, err := cl.NewPackage(prog, fset, ssaPkg, files) + ret, err := cl.NewPackage(prog, ssaPkg, files) check(err) return ret.String()