cl.NewPackage: rm fset *token.FileSet
This commit is contained in:
@@ -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),
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user