petergtz / pegomock

Pegomock is a powerful, yet simple mocking framework for the Go programming language
Apache License 2.0
253 stars 28 forks source link

Generating a mock for io.ReadCloser fails #65

Closed petergtz closed 5 years ago

petergtz commented 6 years ago

To reproduce

$ pegomock generate io ReadCloser --use-experimental-model-gen
panic: interface conversion: ast.Expr is *ast.Ident, not *ast.FuncType
goroutine 1 [running]:
github.com/petergtz/pegomock/modelgen/loader.(*modelGenerator).modelMethodFrom(0xc42013b8c8, 0xc4201a6000, 0x2)
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/modelgen/loader/loader.go:54 +0x1df
github.com/petergtz/pegomock/modelgen/loader.(*modelGenerator).modelMethodsFrom(0xc42013b8c8, 0xc420093ad0, 0xa, 0x1, 0xc422bad5a8)
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/modelgen/loader/loader.go:48 +0x9d
github.com/petergtz/pegomock/modelgen/loader.GenerateModel(0x7ffeefbfe60a, 0x2, 0x7ffeefbfe60d, 0xa, 0xc4200f8060, 0x17, 0x61)
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/modelgen/loader/loader.go:29 +0x1e7
github.com/petergtz/pegomock/pegomock/filehandling.GenerateMockSourceCode(0xc4200e64e0, 0x2, 0x2, 0xc42010e150, 0xb, 0x0, 0x0, 0x0, 0x13a58c0, 0xc42000e020, ...)
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/pegomock/filehandling/filehandling.go:100 +0x28f
github.com/petergtz/pegomock/pegomock/filehandling.GenerateMockFile(0xc4200e64e0, 0x2, 0x2, 0xc42012a070, 0x61, 0xc42010e150, 0xb, 0x0, 0x0, 0x0, ...)
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/pegomock/filehandling/filehandling.go:62 +0xc3
github.com/petergtz/pegomock/pegomock/filehandling.GenerateMockFileInOutputDir(0xc4200e64e0, 0x2, 0x2, 0xc42001c0a4, 0x49, 0x0, 0x0, 0xc42010e150, 0xb, 0x0, ...)
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/pegomock/filehandling/filehandling.go:39 +0x162
main.Run(0xc420010140, 0x5, 0x5, 0x13a58c0, 0xc42000e020, 0xc42012c000, 0xc42012e000)
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/pegomock/main.go:80 +0x160a
main.main()
    /Users/pego/workspace/bits-service-release/src/github.com/petergtz/pegomock/pegomock/main.go:35 +0x90