github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/go/types/methodset.go (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // このファイルはメソッドセットを実装します。 6 7 package types 8 9 // MethodSetは具体的または抽象(インターフェース)メソッドの順序付けられたセットです。 10 // メソッドは [MethodVal] 選択であり、m.Obj().Id()によって昇順に並べられます。 11 // MethodSetのゼロ値は使用準備完了の空のメソッドセットです。 12 type MethodSet struct { 13 list []*Selection 14 } 15 16 func (s *MethodSet) String() string 17 18 // Lenはsのメソッドの数を返します。 19 func (s *MethodSet) Len() int 20 21 // Atは、0 <= i < s.Len()に対してsのi番目のメソッドを返します。 22 func (s *MethodSet) At(i int) *Selection 23 24 // Lookupはパッケージと名前が一致するメソッドを返します。見つからない場合はnilを返します。 25 func (s *MethodSet) Lookup(pkg *Package, name string) *Selection 26 27 // NewMethodSetは、指定された型Tのメソッドセットを返します。 28 // 空であっても、必ず非nilのメソッドセットを返します。 29 func NewMethodSet(T Type) *MethodSet