gotypes,build: add Implement (#58)

By using Implement you can provide a definition of a function, taking the signature from a stub in the package. One major benefit of this approach is it makes it easy to handle external types in the function signature.

Updates #55
This commit is contained in:
Michael McLoughlin
2019-01-22 22:35:01 -08:00
committed by GitHub
parent 9c913ee847
commit eb225e9d2c
12 changed files with 191 additions and 2 deletions

17
examples/ext/ext_test.go Normal file
View File

@@ -0,0 +1,17 @@
package ext
import (
"testing"
"testing/quick"
"github.com/mmcloughlin/avo/examples/ext/ext"
)
//go:generate go run asm.go -out ext.s
func TestFunc(t *testing.T) {
expect := func(e ext.Struct) byte { return e.B }
if err := quick.CheckEqual(StructFieldB, expect, nil); err != nil {
t.Fatal(err)
}
}