github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/go/types/alias.go (about) 1 // Code generated by "go test -run=Generate -write=all"; DO NOT EDIT. 2 3 // Copyright 2023 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 // Aliasは、エイリアス型を表します。 10 // エイリアス型が作成されるかどうかは、 11 // GODEBUG環境変数のgotypesalias設定によって制御されます。 12 // gotypesalias=1の場合、エイリアス宣言はエイリアス型を生成します。 13 // それ以外の場合、エイリアス情報は型名にのみ存在し、 14 // 実際の(エイリアスされた)型を直接指します。 15 type Alias struct { 16 obj *TypeName 17 tparams *TypeParamList 18 fromRHS Type 19 actual Type 20 } 21 22 // NewAliasは、指定された型名とrhsを持つ新しいAlias型を作成します。 23 // rhsはnilであってはなりません。 24 func NewAlias(obj *TypeName, rhs Type) *Alias 25 26 func (a *Alias) Obj() *TypeName 27 func (a *Alias) Underlying() Type 28 func (a *Alias) String() string 29 30 // Unaliasは、tがエイリアス型でない場合はtを返し、 31 // それ以外の場合はtのエイリアスチェーンを追跡して 32 // エイリアスでない型に到達すると、その型を返します。 33 // その結果、返される結果は決してエイリアス型ではありません。 34 func Unalias(t Type) Type