go/ast.CallExpr.Fun (field)

42 uses

	go/ast (current package)
		ast.go#L376: 		Fun      Expr      // function expression
		ast.go#L499: func (x *CallExpr) Pos() token.Pos       { return x.Fun.Pos() }
		walk.go#L144: 		Walk(v, n.Fun)

	go/parser
		parser.go#L1537: 	return &ast.CallExpr{Fun: fun, Lparen: lparen, Args: list, Ellipsis: ellipsis, Rparen: rparen}
		parser.go#L2671: 				if name, _ := t.Fun.(*ast.Ident); name != nil {

	go/printer
		nodes.go#L944: 		if _, ok := x.Fun.(*ast.FuncType); ok {
		nodes.go#L947: 			wasIndented = p.possibleSelectorExpr(x.Fun, token.HighestPrec, depth)
		nodes.go#L950: 			wasIndented = p.possibleSelectorExpr(x.Fun, token.HighestPrec, depth)

	go/types
		assignments.go#L307: 			check.errorf(rhs0, _WrongAssignCount, "assignment mismatch: %s but %s returns %s", vars, call.Fun, vals)
		builtins.go#L123: 						check.recordBuiltinType(call.Fun, sig)
		builtins.go#L153: 			check.recordBuiltinType(call.Fun, sig)
		builtins.go#L229: 			check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ))
		builtins.go#L254: 			check.recordBuiltinType(call.Fun, makeSig(nil, x.typ))
		builtins.go#L346: 			check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ, x.typ))
		builtins.go#L377: 			check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ, y.typ))
		builtins.go#L416: 			check.recordBuiltinType(call.Fun, makeSig(nil, map_, key))
		builtins.go#L482: 			check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ))
		builtins.go#L531: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, types...))
		builtins.go#L545: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, T))
		builtins.go#L570: 			check.recordBuiltinType(call.Fun, makeSig(nil, &emptyInterface))
		builtins.go#L594: 			check.recordBuiltinType(call.Fun, makeSig(nil, params...))
		builtins.go#L602: 			check.recordBuiltinType(call.Fun, makeSig(x.typ))
		builtins.go#L608: 			check.errorf(call.Fun, _InvalidUnsafeAdd, "unsafe.Add requires go1.17 or later")
		builtins.go#L626: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, x.typ, y.typ))
		builtins.go#L639: 				check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ))
		builtins.go#L703: 				check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], obj.Type()))
		builtins.go#L722: 				check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ))
		builtins.go#L734: 			check.errorf(call.Fun, _InvalidUnsafeSlice, "unsafe.Slice requires go1.17 or later")
		builtins.go#L753: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, typ, y.typ))
		call.go#L98: 	ix := typeparams.UnpackIndexExpr(call.Fun)
		call.go#L108: 		x.expr = call.Fun
		call.go#L112: 		check.exprOrType(x, call.Fun, true)
		call.go#L214: 		check.recordTypeAndValue(call.Fun, value, sig, nil)
		call.go#L350: 			check.errorf(inNode(call, call.Ellipsis), _NonVariadicDotDotDot, "cannot use ... in call to non-variadic %s", call.Fun)
		call.go#L372: 			qualifier, call.Fun,
		call.go#L382: 			switch call.Fun.(type) {
		call.go#L384: 				ix := typeparams.UnpackIndexExpr(call.Fun)
		call.go#L385: 				check.softErrorf(inNode(call.Fun, ix.Lbrack), _UnsupportedFeature, "function instantiation requires go1.18 or later")
		call.go#L398: 		check.recordInstance(call.Fun, targs, rsig)
		call.go#L412: 		context := check.sprintf("argument to %s", call.Fun)
		exprstring.go#L102: 		WriteExpr(buf, x.Fun)

	gotest.tools/v3/internal/source
		source.go#L114: 		ast.Walk(v, typed.Call.Fun)