From 621e49bb465f500cc46d47e39e828cf76d6381d7 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 24 Jul 2018 14:35:44 +0200 Subject: update vendor --- .../tests/aux_imports_embedded_interface/README.md | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 vendor/github.com/golang/mock/mockgen/tests/aux_imports_embedded_interface/README.md (limited to 'vendor/github.com/golang/mock/mockgen/tests/aux_imports_embedded_interface/README.md') diff --git a/vendor/github.com/golang/mock/mockgen/tests/aux_imports_embedded_interface/README.md b/vendor/github.com/golang/mock/mockgen/tests/aux_imports_embedded_interface/README.md new file mode 100644 index 0000000..63955f6 --- /dev/null +++ b/vendor/github.com/golang/mock/mockgen/tests/aux_imports_embedded_interface/README.md @@ -0,0 +1,36 @@ +Embedded interfaces in `aux_files` generate `unknown embedded interface XXX` errors. +See below for example of the problem: +``` +// source +import ( + alias "some.org/package/imported" +) + +type Source interface { + alias.Foreign +} +``` + +``` +// some.org/package/imported +type Foreign interface { + Embedded +} + +type Embedded interface {} +``` + +Attempting to generate a mock will result in an `unknown embedded interface Embedded`. +The issue is that the `fileParser` stores `auxInterfaces` underneath the package name +explicitly specified in the `aux_files` flag. + +In the `parseInterface` method, there is an incorrect assumption about an embedded interface +always being in the source file. +``` +case *ast.Ident: + // Embedded interface in this package. + ei := p.auxInterfaces[""][v.String()] + if ei == nil { + return nil, p.errorf(v.Pos(), "unknown embedded interface %s", v.String()) + } +``` -- cgit v1.2.3