diff --git a/mockgen/mockgen.go b/mockgen/mockgen.go index 79cce84..cac22ff 100644 --- a/mockgen/mockgen.go +++ b/mockgen/mockgen.go @@ -245,7 +245,7 @@ Example: Package mode works by specifying the package and interface names. It is enabled by passing two non-flag arguments: an import path, and a -comma-separated list of symbols. +comma-separated list of symbols. You can use "." to refer to the current path's package. Example: mockgen database/sql/driver Conn,Driver @@ -781,16 +781,20 @@ func (g *generator) getArgNames(m *model.Method, in bool) []string { for i, p := range params { name := p.Name - if name == "" || name == "_" || g.nameExistsAsPackage(name) { + if name == "" || name == "_" { name = fmt.Sprintf("arg%d", i) + } else if g.nameExistsAsPackage(name) { + name = "_" + name } argNames[i] = name } if m.Variadic != nil && in { name := m.Variadic.Name - if name == "" || g.nameExistsAsPackage(name) { + if name == "" { name = fmt.Sprintf("arg%d", len(params)) + } else if g.nameExistsAsPackage(name) { + name = "_" + name } argNames = append(argNames, name) }