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