type go/types.Func

105 uses

	go/types (current package)
		builtins.go#L671: 		case *Func:
		call.go#L509: 			case *Func:
		call.go#L589: 	if m, _ := obj.(*Func); m != nil {
		call.go#L595: 		m, _ := obj.(*Func)
		call.go#L653: 		case *Func:
		check.go#L132: 	methods  map[*TypeName][]*Func // maps package scope type names to associated non-blank (non-interface) methods
		decl.go#L151: 		case *Func:
		decl.go#L198: 	case *Func:
		decl.go#L259: 		case *Func:
		decl.go#L766: 					_ = alt.(*Func)
		decl.go#L778: func (check *Checker) funcDecl(obj *Func, decl *declInfo) {
		initorder.go#L233: 		if _, ok := n.obj.(*Func); ok {
		interface.go#L19: 	methods   []*Func      // ordered list of explicitly declared methods
		interface.go#L39: func NewInterface(methods []*Func, embeddeds []*Named) *Interface {
		interface.go#L53: func NewInterfaceType(methods []*Func, embeddeds []Type) *Interface {
		interface.go#L98: func (t *Interface) ExplicitMethod(i int) *Func { return t.methods[i] }
		interface.go#L117: func (t *Interface) Method(i int) *Func { return t.typeSet().Method(i) }
		lookup.go#L59: 			if _, ok := obj.(*Func); ok {
		lookup.go#L203: 			if f, _ := obj.(*Func); f != nil {
		lookup.go#L294: func MissingMethod(V Type, T *Interface, static bool) (method *Func, wrongType bool) {
		lookup.go#L308: func (check *Checker) missingMethod(V Type, T *Interface, static bool) (method, alt *Func) {
		lookup.go#L350: 		f, _ := obj.(*Func)
		lookup.go#L374: func (check *Checker) missingMethodReason(V, T Type, m, alt *Func) string {
		lookup.go#L422: func (check *Checker) funcString(f *Func) string {
		lookup.go#L438: func (check *Checker) assertableTo(V *Interface, T Type) (method, wrongType *Func) {
		lookup.go#L511: func lookupMethod(methods []*Func, pkg *Package, name string, foldCase bool) (int, *Func) {
		methodlist.go#L12: 	methods []*Func
		methodlist.go#L21: func newMethodList(methods []*Func) *methodList {
		methodlist.go#L30: 		methods: make([]*Func, length),
		methodlist.go#L42: func (l *methodList) Add(m *Func) {
		methodlist.go#L52: func (l *methodList) Lookup(pkg *Package, name string, foldCase bool) (int, *Func) {
		methodlist.go#L70: func (l *methodList) At(i int, resolve func() *Func) *Func {
		methodset.go#L210: func (s methodSet) add(list []*Func, index []int, indirect bool, multiples bool) methodSet {
		methodset.go#L220: func (s methodSet) addOne(f *Func, index []int, indirect bool, multiples bool) methodSet {
		named.go#L37: func NewNamed(obj *TypeName, underlying Type, methods []*Func) *Named {
		named.go#L135: func (t *Named) Method(i int) *Func {
		named.go#L137: 	return t.methods.At(i, func() *Func {
		named.go#L143: func (t *Named) instantiateMethod(i int) *Func {
		named.go#L217: func (t *Named) AddMethod(m *Func) {
		named.go#L326: func (n *Named) lookupMethod(pkg *Package, name string, foldCase bool) (int, *Func) {
		object.go#L235: func _NewTypeNameLazy(pos token.Pos, pkg *Package, name string, load func(named *Named) (tparams []*TypeParam, underlying Type, methods []*Func)) *TypeName {
		object.go#L320: type Func struct {
		object.go#L327: func NewFunc(pos token.Pos, pkg *Package, name string, sig *Signature) *Func {
		object.go#L333: 	return &Func{object{nil, pos, pkg, name, typ, 0, colorFor(typ), token.NoPos}, false}
		object.go#L338: func (obj *Func) FullName() string {
		object.go#L347: func (obj *Func) Scope() *Scope { return obj.typ.(*Signature).scope }
		object.go#L350: func (obj *Func) hasPtrRecv() bool {
		object.go#L368: func (*Func) isDependency() {} // a function may be a dependency of an initialization expression
		object.go#L427: 	case *Func:
		object.go#L525: func (obj *Func) String() string     { return ObjectString(obj, nil) }
		object.go#L530: func writeFuncName(buf *bytes.Buffer, f *Func, qf Qualifier) {
		resolver.go#L225: 		obj  *Func      // method
		resolver.go#L480: 	check.methods = make(map[*TypeName][]*Func)
		selection.go#L65: 		sig := *s.obj.(*Func).typ.(*Signature)
		selection.go#L76: 		sig := *s.obj.(*Func).typ.(*Signature)
		subst.go#L332: func (subst *subster) func_(f *Func) *Func {
		subst.go#L343: func (subst *subster) funcList(in []*Func) (out []*Func, copied bool) {
		subst.go#L350: 				new := make([]*Func, len(in))
		subst.go#L403: func replaceRecvType(in []*Func, old, new Type) (out []*Func, copied bool) {
		subst.go#L412: 				out = make([]*Func, len(in))
		typeset.go#L27: 	methods    []*Func  // all methods of the interface; sorted by unique ID
		typeset.go#L56: func (s *_TypeSet) Method(i int) *Func { return s.methods[i] }
		typeset.go#L59: func (s *_TypeSet) LookupMethod(pkg *Package, name string, foldCase bool) (int, *Func) {
		typeset.go#L218: 	var todo []*Func
		typeset.go#L220: 	var allMethods []*Func
		typeset.go#L221: 	mpos := make(map[*Func]token.Pos) // method specification or method embedding position, for good error messages
		typeset.go#L222: 	addMethod := func(pos token.Pos, m *Func, explicit bool) {
		typeset.go#L233: 			check.errorf(atPos(mpos[other.(*Func)]), _DuplicateDecl, "\tother declaration of %s", m.name) // secondary error, \t indented
		typeset.go#L242: 				todo = append(todo, m, other.(*Func))
		typeset.go#L249: 					check.errorf(atPos(mpos[other.(*Func)]), _DuplicateDecl, "\tother declaration of %s", m.name) // secondary error, \t indented
		typeset.go#L366: func sortMethods(list []*Func) {
		typeset.go#L370: func assertSortedMethods(list []*Func) {
		typeset.go#L380: type byUniqueMethodName []*Func
		typexpr.go#L118: 	case *Func:
		universe.go#L101: 		ityp := &Interface{obj: obj, methods: []*Func{err}, complete: true}

	golang.org/x/exp/apidiff
		apidiff.go#L132: 	case *types.Func:
		apidiff.go#L134: 		case *types.Func:
		apidiff.go#L178: 	case *types.Func:
		compatibility.go#L127: func unexportedMethod(t *types.Interface) *types.Func {
		correspondence.go#L259: func (d *differ) sortedMethods(iface *types.Interface) []*types.Func {
		correspondence.go#L260: 	ms := make([]*types.Func, iface.NumMethods())
		correspondence.go#L268: func (d *differ) methodID(m *types.Func) string {
		messageset.go#L58: 	if f, ok := obj.(*types.Func); ok {

	golang.org/x/tools/internal/gcimporter
		bexport.go#L227: 	case *types.Func:
		bexport.go#L389: 	var methods []*types.Func
		bexport.go#L425: type methodsByName []*types.Func
		bexport.go#L476: func (p *exporter) method(m *types.Func) {
		bimport.go#L234: 	case *types.Func:
		bimport.go#L644: func (p *importer) methodList(parent *types.Package, baseType *types.Named) (methods []*types.Func) {
		bimport.go#L646: 		methods = make([]*types.Func, n)
		bimport.go#L654: func (p *importer) method(parent *types.Package, baseType *types.Named) *types.Func {
		iexport.go#L447: 	case *types.Func:
		iimport.go#L835: 		methods := make([]*types.Func, r.uint64())
		newInterface11.go#L12: func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
		ureader_yes.go#L416: 	methods := make([]*types.Func, r.Len())
		ureader_yes.go#L567: 					methods := make([]*types.Func, iface.NumExplicitMethods())
		ureader_yes.go#L708: func (r *reader) method() *types.Func {

	golang.org/x/tools/internal/typeparams
		common.go#L87: func OriginMethod(fn *types.Func) *types.Func {
		common.go#L109: 	return gfn.(*types.Func)