go/ast.CallExpr.Fun (field)

60 uses

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

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

	go/printer
		nodes.go#L979: 		switch t := x.Fun.(type) {
		nodes.go#L988: 		wasIndented := p.possibleSelectorExpr(x.Fun, token.HighestPrec, depth)

	go/types
		assignments.go#L361: 			check.errorf(rhs0, WrongAssignCount, "assignment mismatch: %s but %s returns %s", vars, call.Fun, vals)
		builtins.go#L144: 			check.recordBuiltinType(call.Fun, sig)
		builtins.go#L225: 			check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ))
		builtins.go#L234: 		check.verifyVersionf(call.Fun, go1_21, "clear")
		builtins.go#L249: 			check.recordBuiltinType(call.Fun, makeSig(nil, x.typ))
		builtins.go#L270: 			check.recordBuiltinType(call.Fun, makeSig(nil, x.typ))
		builtins.go#L358: 			check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ, x.typ))
		builtins.go#L415: 			check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ, y.typ))
		builtins.go#L450: 			check.recordBuiltinType(call.Fun, makeSig(nil, map_, key))
		builtins.go#L516: 			check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ))
		builtins.go#L577: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, types...))
		builtins.go#L583: 		check.verifyVersionf(call.Fun, go1_21, "built-in %s", bin.name)
		builtins.go#L642: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, types...))
		builtins.go#L668: 			check.verifyVersionf(call.Fun, go1_26, "new(%s)", arg)
		builtins.go#L675: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, T))
		builtins.go#L700: 			check.recordBuiltinType(call.Fun, makeSig(nil, &emptyInterface))
		builtins.go#L720: 			check.recordBuiltinType(call.Fun, makeSig(nil, params...))
		builtins.go#L728: 			check.recordBuiltinType(call.Fun, makeSig(x.typ))
		builtins.go#L733: 		check.verifyVersionf(call.Fun, go1_17, "unsafe.Add")
		builtins.go#L748: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, x.typ, y.typ))
		builtins.go#L761: 				check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ))
		builtins.go#L825: 				check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], obj.Type()))
		builtins.go#L849: 				check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ))
		builtins.go#L865: 		check.verifyVersionf(call.Fun, go1_17, "unsafe.Slice")
		builtins.go#L882: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, ptr, y.typ))
		builtins.go#L887: 		check.verifyVersionf(call.Fun, go1_20, "unsafe.SliceData")
		builtins.go#L899: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, slice))
		builtins.go#L904: 		check.verifyVersionf(call.Fun, go1_20, "unsafe.String")
		builtins.go#L919: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, NewPointer(universeByte), y.typ))
		builtins.go#L924: 		check.verifyVersionf(call.Fun, go1_20, "unsafe.StringData")
		builtins.go#L934: 			check.recordBuiltinType(call.Fun, makeSig(x.typ, Typ[String]))
		call.go#L173: 	ix := unpackIndexedExpr(call.Fun)
		call.go#L183: 		x.expr = call.Fun
		call.go#L186: 		check.exprOrType(x, call.Fun, true)
		call.go#L311: 		check.recordTypeAndValue(call.Fun, value, sig, nil)
		call.go#L513: 			check.errorf(inNode(call, call.Ellipsis), NonVariadicDotDotDot, "cannot use ... in call to non-variadic %s", call.Fun)
		call.go#L535: 		err.addf(at, "%s arguments in call to %s", qualifier, call.Fun)
		call.go#L549: 			switch call.Fun.(type) {
		call.go#L551: 				ix := unpackIndexedExpr(call.Fun)
		call.go#L552: 				check.versionErrorf(inNode(call.Fun, ix.lbrack), go1_18, "function instantiation")
		call.go#L621: 				check.errorf(err.posn(), CannotInferTypeArgs, "in call to %s, %s", call.Fun, err.msg())
		call.go#L628: 			rsig = check.instantiateSignature(call.Pos(), call.Fun, sig, targs[:n], xlist)
		call.go#L654: 		context := check.sprintf("argument to %s", call.Fun)
		exprstring.go#L104: 		WriteExpr(buf, x.Fun)

	go.pact.im/x/plumb/internal/discover
		discover.go#L759: 	return pkg.Info.Types[ast.Unparen(call.Fun)].IsType()

	golang.org/x/tools/go/ast/inspector
		walk.go#L110: 		walk(v, edge.CallExpr_Fun, -1, n.Fun)

	golang.org/x/tools/go/types/typeutil
		callee.go#L22: 	obj := info.Uses[usedIdent(info, call.Fun)]
		callee.go#L38: 	obj := info.Uses[usedIdent(info, call.Fun)]

	golang.org/x/tools/internal/typesinternal
		classify_call.go#L68: 	tv := info.Types[call.Fun]
		classify_call.go#L75: 	obj := info.Uses[UsedIdent(info, call.Fun)]
		fx.go#L49: 			if !info.Types[v.Fun].IsType() {
		fx.go#L78: 	if id, ok := ast.Unparen(call.Fun).(*ast.Ident); ok {
		zerovalue.go#L185: 				Fun: ast.NewIdent("new"),