go/ast.FuncDecl.Type (field)
28 uses
go/ast (current package)
ast.go#L998: Type *FuncType // function signature: type and value parameters, results, and position of "func" keyword
ast.go#L1007: func (d *FuncDecl) Pos() token.Pos { return d.Type.Pos() }
ast.go#L1020: return d.Type.End()
walk.go#L330: Walk(v, n.Type)
go/doc
example.go#L75: if params := f.Type.Params; len(params.List) != 0 {
example.go#L304: Type: f.Type,
example.go#L393: inspectFieldList(d.Type.TypeParams)
example.go#L395: inspectFieldList(d.Type.Params)
example.go#L396: inspectFieldList(d.Type.Results)
reader.go#L436: if fun.Type.Results.NumFields() >= 1 {
reader.go#L439: for _, res := range fun.Type.Results.List {
reader.go#L447: if lookupTypeParam(n, fun.Type.TypeParams) != nil {
go/parser
parser.go#L2809: Type: &ast.FuncType{
resolver.go#L490: if n.Type.TypeParams != nil {
resolver.go#L491: r.walkTParams(n.Type.TypeParams)
resolver.go#L497: r.resolveList(n.Type.Params)
resolver.go#L498: r.resolveList(n.Type.Results)
resolver.go#L500: r.declareList(n.Type.Params, ast.Var)
resolver.go#L501: r.declareList(n.Type.Results, ast.Var)
go/printer
nodes.go#L1933: p.signature(d.Type)
go/types
decl.go#L852: check.funcType(sig, fdecl.Recv, fdecl.Type)
decl.go#L860: if fdecl.Type.TypeParams.NumFields() > 0 && fdecl.Body == nil {
resolver.go#L415: if d.decl.Type.TypeParams.NumFields() != 0 {
resolver.go#L416: check.softErrorf(d.decl.Type.TypeParams.List[0], code, "func %s must have no type parameters", name)
resolver.go#L419: if t := d.decl.Type; t.Params.NumFields() != 0 || t.Results != nil {
resolver.go#L453: _ = d.decl.Type.TypeParams.NumFields() != 0 && !hasTParamError && check.verifyVersionf(d.decl.Type.TypeParams.List[0], go1_18, "type parameter")