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