diff --git a/func.go b/func.go index b81d88c2..1b8f8e33 100644 --- a/func.go +++ b/func.go @@ -62,12 +62,17 @@ func (p *Func) End(cb *CodeBuilder) { // NewFunc func func (p *Package) NewFunc(recv *Param, name string, params, results *Tuple, variadic bool) *Func { + sig := types.NewSignature(recv, params, results, variadic) + return p.NewFuncWith(name, sig) +} + +// NewFuncWith func +func (p *Package) NewFuncWith(name string, sig *types.Signature) *Func { if name == "" { panic("TODO: no func name") } p.endImport() - sig := types.NewSignature(recv, params, results, variadic) fn := types.NewFunc(token.NoPos, p.Types, name, sig) p.Types.Scope().Insert(fn) diff --git a/package_test.go b/package_test.go index ef1f6984..094549cb 100644 --- a/package_test.go +++ b/package_test.go @@ -16,7 +16,7 @@ func domTest(t *testing.T, pkg *gox.Package, expected string) { var b bytes.Buffer err := gox.WriteTo(&b, pkg) if err != nil { - t.Fatal("conv.WriteTo failed:", err) + t.Fatal("gox.WriteTo failed:", err) } result := b.String() if result != expected {