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")