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)