Make manager interface for type packages have unique methods

このコミットが含まれているのは:
Cory Slep 2019-01-05 23:19:50 +01:00
コミット 73d677460b
1個のファイルの変更7行の追加2行の削除

ファイルの表示

@ -117,12 +117,17 @@ func (t *TypePackageGenerator) PublicDefinitions(tgs []*TypeGenerator) *codegen.
// Precondition: The passed-in generators are the complete set of type
// generators within a package.
func (t *TypePackageGenerator) PrivateDefinitions(tgs []*TypeGenerator) (*jen.Statement, *codegen.Interface, *codegen.Function) {
var fns []codegen.FunctionSignature
fnsMap := make(map[string]codegen.FunctionSignature)
for _, tg := range tgs {
for _, m := range tg.getAllManagerMethods() {
fns = append(fns, m.ToFunctionSignature())
v := m.ToFunctionSignature()
fnsMap[v.Name] = v
}
}
var fns []codegen.FunctionSignature
for _, v := range fnsMap {
fns = append(fns, v)
}
return jen.Var().Id(managerInitName()).Id(managerInterfaceName),
codegen.NewInterface(tgs[0].PrivatePackage().Path(),
managerInterfaceName,