func (p Param) Pass() string {
	if p.Variadic {
		return p.Name + "..."
	}
	return p.Name
}
Pass returns a name of the parameter
If parameter is variadic it returns a name followed by a ...
package generator
import (
	"fmt"
	"go/ast"
	"strings"
)
type typePrinter interface {
	PrintType(ast.Node) (string, error)
}
type Method struct {
	Doc     []string
	Comment []string
	Name    string
	Params  ParamsSlice
	Results ParamsSlice
	ReturnsError   bool
	AcceptsContext bool
}
type Param struct {
	Doc      []string
	Comment  []string
	Name     string
	Type     string
	Variadic bool
}
type ParamsSlice []Param
func (ps ParamsSlice) String() string {
	ss := []string{}
	for _, p := range ps {
		ss = append(ss, p.Name+" "+p.Type)
	}
	return strings.Join(ss, ", ")
}
func (ps ParamsSlice) Pass() string {
	params := []string{}
	for _, p := range ps {
		params = append(params, p.Pass())
	}
	return strings.Join(params, ", ")
}