diff --git a/build/context.go b/build/context.go index 21fd6d0..fb00b4e 100644 --- a/build/context.go +++ b/build/context.go @@ -35,7 +35,7 @@ func NewContext() *Context { // Package sets the package the generated file will belong to. Required to be able to reference types in the package. func (c *Context) Package(path string) { cfg := &packages.Config{ - Mode: packages.LoadTypes, + Mode: packages.LoadAllSyntax, } pkgs, err := packages.Load(cfg, path) if err != nil { diff --git a/tests/fixedbugs/issue62/asm.go b/tests/fixedbugs/issue62/asm.go new file mode 100644 index 0000000..c2a3e14 --- /dev/null +++ b/tests/fixedbugs/issue62/asm.go @@ -0,0 +1,14 @@ +// +build ignore + +package main + +import ( + . "github.com/mmcloughlin/avo/build" +) + +func main() { + Package("github.com/mmcloughlin/avo/tests/fixedbugs/issue62") + Implement("private") + RET() + Generate() +} diff --git a/tests/fixedbugs/issue62/issue62.s b/tests/fixedbugs/issue62/issue62.s new file mode 100644 index 0000000..1ae72b5 --- /dev/null +++ b/tests/fixedbugs/issue62/issue62.s @@ -0,0 +1,5 @@ +// Code generated by command: go run asm.go -out issue62.s. DO NOT EDIT. + +// func private() +TEXT ·private(SB), $0 + RET diff --git a/tests/fixedbugs/issue62/issue62_test.go b/tests/fixedbugs/issue62/issue62_test.go new file mode 100644 index 0000000..b550df1 --- /dev/null +++ b/tests/fixedbugs/issue62/issue62_test.go @@ -0,0 +1,11 @@ +package issue62 + +import ( + "testing" +) + +//go:generate go run asm.go -out issue62.s + +func TestPrivate(t *testing.T) { + private() +} diff --git a/tests/fixedbugs/issue62/stub.go b/tests/fixedbugs/issue62/stub.go new file mode 100644 index 0000000..2f0a483 --- /dev/null +++ b/tests/fixedbugs/issue62/stub.go @@ -0,0 +1,5 @@ +// Package issue62 tests for using Implement() with an unexported function. +package issue62 + +// private serves as an example unexported function to implement. +func private()