cl.NewPackage: rm fset *token.FileSet

This commit is contained in:
xushiwei
2024-04-22 20:23:01 +08:00
parent 72084b5648
commit ead09d94aa
4 changed files with 6 additions and 9 deletions

View File

@@ -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. // NewPackage compiles a Go package to LLVM IR package.
func NewPackage( func NewPackage(prog llssa.Program, pkg *ssa.Package, files []*ast.File) (ret llssa.Package, err error) {
prog llssa.Program,
fset *token.FileSet, pkg *ssa.Package, files []*ast.File) (ret llssa.Package, err error) {
type namedMember struct { type namedMember struct {
name string name string
val ssa.Member val ssa.Member
@@ -311,7 +308,7 @@ func NewPackage(
ctx := &context{ ctx := &context{
prog: prog, prog: prog,
pkg: ret, pkg: ret,
fset: fset, fset: pkg.Prog.Fset,
goPkg: pkg, goPkg: pkg,
link: make(map[string]string), link: make(map[string]string),
loaded: make(map[*types.Package]none), loaded: make(map[*types.Package]none),

View File

@@ -35,7 +35,7 @@ import (
) )
func TestFromTestdata(t *testing.T) { func TestFromTestdata(t *testing.T) {
testFromDir(t, "importpkg", "./_testdata") testFromDir(t, "", "./_testdata")
} }
func init() { func init() {
@@ -97,7 +97,7 @@ func testCompileEx(t *testing.T, src any, fname, expected string) {
} }
foo.WriteTo(os.Stderr) foo.WriteTo(os.Stderr)
prog := llssa.NewProgram(nil) prog := llssa.NewProgram(nil)
ret, err := NewPackage(prog, fset, foo, files) ret, err := NewPackage(prog, foo, files)
if err != nil { if err != nil {
t.Fatal("cl.NewPackage failed:", err) t.Fatal("cl.NewPackage failed:", err)
} }

View File

@@ -58,7 +58,7 @@ func (p *context) importPkg(pkg *types.Package) {
if obj, ok := obj.(*types.Func); ok { if obj, ok := obj.(*types.Func); ok {
if pos := obj.Pos(); pos != token.NoPos { if pos := obj.Pos(); pos != token.NoPos {
f := fset.File(pos) 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) lines, err := contentOf(contents, fp.Filename)
if err != nil { if err != nil {
panic(err) panic(err)

View File

@@ -59,7 +59,7 @@ func Gen(inFile string, src any) string {
ssaPkg.WriteTo(os.Stderr) ssaPkg.WriteTo(os.Stderr)
prog := llssa.NewProgram(nil) prog := llssa.NewProgram(nil)
ret, err := cl.NewPackage(prog, fset, ssaPkg, files) ret, err := cl.NewPackage(prog, ssaPkg, files)
check(err) check(err)
return ret.String() return ret.String()