var typeNames … type visitor … func newVisitor() visitor { … } func (v visitor) filter(name string) bool { … } func (v visitor) Visit(n ast.Node) ast.Visitor { … } func loadTypes(path, pkgName string, v visitor) { … } func TestMirrorWithReflect(t *testing.T) { … }