github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/go/types/object.go (about)

     1  // "go test -run=Generate -write=all" により生成されたコードです。編集しないでください。
     2  
     3  // Copyright 2013 The Go Authors. All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  package types
     8  
     9  import (
    10  	"github.com/shogo82148/std/go/constant"
    11  	"github.com/shogo82148/std/go/token"
    12  )
    13  
    14  // Objectは、パッケージ、定数、型、変数、関数(メソッドを含む)、またはラベルなどの名前付きの言語エンティティを表します。
    15  // すべてのオブジェクトはObjectインターフェースを実装しています。
    16  type Object interface {
    17  	Parent() *Scope
    18  	Pos() token.Pos
    19  	Pkg() *Package
    20  	Name() string
    21  	Type() Type
    22  	Exported() bool
    23  	Id() string
    24  
    25  	String() string
    26  
    27  	order() uint32
    28  
    29  	color() color
    30  
    31  	setType(Type)
    32  
    33  	setOrder(uint32)
    34  
    35  	setColor(color color)
    36  
    37  	setParent(*Scope)
    38  
    39  	sameId(pkg *Package, name string, foldCase bool) bool
    40  
    41  	scopePos() token.Pos
    42  
    43  	setScopePos(pos token.Pos)
    44  }
    45  
    46  // Idが公開されていれば、そのままの名前を返します。それ以外の場合は、
    47  // パッケージのパスで修飾された名前を返します。
    48  func Id(pkg *Package, name string) string
    49  
    50  // PkgNameはインポートされたGoパッケージを表します。
    51  // PkgNameには型はありません。
    52  type PkgName struct {
    53  	object
    54  	imported *Package
    55  	used     bool
    56  }
    57  
    58  // NewPkgNameは、インポートされたパッケージを表す新しいPkgNameオブジェクトを返します。
    59  // 残りの引数は、全てのオブジェクトで見つかった属性を設定します。
    60  func NewPkgName(pos token.Pos, pkg *Package, name string, imported *Package) *PkgName
    61  
    62  // Importedはインポートされたパッケージを返します。
    63  // これはインポート文を含むパッケージとは異なります。
    64  func (obj *PkgName) Imported() *Package
    65  
    66  // Constは宣言された定数を表します。
    67  type Const struct {
    68  	object
    69  	val constant.Value
    70  }
    71  
    72  // NewConstは値valを持つ新しい定数を返します。
    73  // 残りの引数は、すべてのオブジェクトで見つかる属性を設定します。
    74  func NewConst(pos token.Pos, pkg *Package, name string, typ Type, val constant.Value) *Const
    75  
    76  // Valは定数の値を返します。
    77  func (obj *Const) Val() constant.Value
    78  
    79  // TypeNameは(定義済みまたはエイリアスの)型の名前を表します。
    80  type TypeName struct {
    81  	object
    82  }
    83  
    84  // NewTypeNameは、与えられたtypを指定する新しい型名を返します。
    85  // 残りの引数は、すべてのオブジェクトで見つかった属性を設定します。
    86  //
    87  // typ引数は、定義済み(Named)タイプまたはエイリアスタイプである場合も可能です。
    88  // また、nilである場合も、TypeNameを引数として使用でき、
    89  // 副作用としてTypeNameのタイプがNewNamedに設定されます。
    90  func NewTypeName(pos token.Pos, pkg *Package, name string, typ Type) *TypeName
    91  
    92  // IsAliasは、objが型のエイリアス名であるかどうかを報告します。
    93  func (obj *TypeName) IsAlias() bool
    94  
    95  type Var struct {
    96  	object
    97  	embedded bool
    98  	isField  bool
    99  	used     bool
   100  	origin   *Var
   101  }
   102  
   103  // NewVarは新しい変数を返します。
   104  // 引数はすべてのオブジェクトで見つかった属性を設定します。
   105  func NewVar(pos token.Pos, pkg *Package, name string, typ Type) *Var
   106  
   107  // NewParam は関数のパラメータを表す新しい変数を返します。
   108  func NewParam(pos token.Pos, pkg *Package, name string, typ Type) *Var
   109  
   110  // NewFieldは、構造体のフィールドを表す新しい変数を返します。
   111  // 埋め込まれたフィールドの場合、名前はフィールドがアクセス可能な
   112  // 非修飾の型名です。
   113  func NewField(pos token.Pos, pkg *Package, name string, typ Type, embedded bool) *Var
   114  
   115  // Anonymousは変数が埋め込まれたフィールドかどうかを示します。
   116  // Embeddedと同様ですが、後方互換性のために存在します。
   117  func (obj *Var) Anonymous() bool
   118  
   119  // Embeddedは変数が埋め込まれたフィールドかどうかを示します。
   120  func (obj *Var) Embedded() bool
   121  
   122  // IsFieldは、変数が構造体のフィールドであるかどうかを報告します。
   123  func (obj *Var) IsField() bool
   124  
   125  // Originは、そのレシーバのための正規のVar、つまりInfo.Defsに記録されたVarオブジェクトを返します。
   126  //
   127  // インスタンス化中に作成された合成Var(型引数に依存する構造体フィールドや
   128  // 関数パラメータなど)については、これはジェネリック(インスタンス化されていない)型上の
   129  // 対応するVarになります。他のすべてのVarについて、Originはレシーバを返します。
   130  func (obj *Var) Origin() *Var
   131  
   132  // Funcは、宣言された関数、具体的なメソッド、または抽象(インターフェース)メソッドを表します。そのType()は常に*Signatureです。
   133  // 抽象メソッドは、埋め込みにより多くのインターフェースに所属することがあります。
   134  type Func struct {
   135  	object
   136  	hasPtrRecv_ bool
   137  	origin      *Func
   138  }
   139  
   140  // NewFuncは与えられたシグネチャを持つ新しい関数を返します。これは関数の型を表します。
   141  func NewFunc(pos token.Pos, pkg *Package, name string, sig *Signature) *Func
   142  
   143  // FullNameは関数またはメソッドobjのパッケージ名またはレシーバー型名で修飾された名前を返します。
   144  func (obj *Func) FullName() string
   145  
   146  // Scopeは関数の本体ブロックのスコープを返します。
   147  // 結果は、インポートされたまたはインスタンス化された関数やメソッドに対してはnilです
   148  // (ただし、インスタンス化された関数にアクセスするメカニズムもありません)。
   149  func (obj *Func) Scope() *Scope
   150  
   151  // Originは、レシーバーの正確なFunc、つまりInfo.Defsに記録されたFuncオブジェクトを返します。
   152  // インスタンス化中に作成された合成関数(具名型のメソッドや型引数に依存するインターフェースのメソッドなど)の場合、これはジェネリック(インスタンス化されていない)型の対応するFuncになります。その他のすべてのFuncに対して、Originはレシーバーを返します。
   153  func (obj *Func) Origin() *Func
   154  
   155  // Pkg returns the package to which the function belongs.
   156  //
   157  // The result is nil for methods of types in the Universe scope,
   158  // like method Error of the error built-in interface type.
   159  func (obj *Func) Pkg() *Package
   160  
   161  // Labelは宣言されたラベルを表します。
   162  // ラベルはタイプを持ちません。
   163  type Label struct {
   164  	object
   165  	used bool
   166  }
   167  
   168  // NewLabel は新しいラベルを返します。
   169  func NewLabel(pos token.Pos, pkg *Package, name string) *Label
   170  
   171  // Builtinは組み込み関数を表します。
   172  // 組み込み関数には有効な型はありません。
   173  type Builtin struct {
   174  	object
   175  	id builtinId
   176  }
   177  
   178  // Nilは、事前宣言された値であるnilを表します。
   179  type Nil struct {
   180  	object
   181  }
   182  
   183  // ObjectStringはobjの文字列形式を返します。
   184  // Qualifierはパッケージレベルのオブジェクトの印刷を制御し、nilである可能性があります。
   185  func ObjectString(obj Object, qf Qualifier) string
   186  
   187  func (obj *PkgName) String() string
   188  func (obj *Const) String() string
   189  func (obj *TypeName) String() string
   190  func (obj *Var) String() string
   191  func (obj *Func) String() string
   192  func (obj *Label) String() string
   193  func (obj *Builtin) String() string
   194  func (obj *Nil) String() string