- Sort Score
- Result 10 results
- Languages All
Results 1 - 3 of 3 for CalcMethods (0.29 sec)
-
src/cmd/compile/internal/typecheck/subr.go
dot.SetType(path[c].field.Type) n.X = dot } case ambig: base.Errorf("ambiguous selector %v", n) n.X = nil } return n } // CalcMethods calculates all the methods (including embedding) of a non-interface // type t. func CalcMethods(t *types.Type) { if t == nil || len(t.AllMethods()) != 0 { return } // mark top-level method symbols // so that expand1 doesn't consider them.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Oct 05 19:45:58 UTC 2023 - 20.2K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/typecheck.go
if recv.IsInterface() { ms = recv.AllMethods() } else { mt := types.ReceiverBaseType(recv) if mt == nil { base.FatalfAt(pos, "type %v has no receiver base type", recv) } CalcMethods(mt) ms = mt.AllMethods() } m := Lookdot1(nil, sym, recv, ms, 0) if m == nil { base.FatalfAt(pos, "type %v has no method %v", recv, sym) } if !types.IsMethodApplicable(recv, m) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Mar 20 19:08:34 UTC 2024 - 30.5K bytes - Viewed (0) -
src/cmd/compile/internal/types/type.go
// For an interface type, this is the set of methods that are typically iterated // over. For non-interface types, AllMethods() only returns a valid result after // CalcMethods() has been called at least once. func (t *Type) AllMethods() []*Field { if t.kind == TINTER { // Calculate the full method set of an interface type on the fly // now, if not done yet. CalcSize(t) }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 04 14:29:45 UTC 2024 - 49.5K bytes - Viewed (0)