type go/types.Alias
55 uses
go/types (current package)
alias.go#L27: type Alias struct {
alias.go#L29: orig *Alias // original, uninstantiated alias
alias.go#L38: func NewAlias(obj *TypeName, rhs Type) *Alias {
alias.go#L47: func (a *Alias) Obj() *TypeName { return a.orig.obj }
alias.go#L49: func (a *Alias) String() string { return TypeString(a, nil) }
alias.go#L56: func (a *Alias) Underlying() Type { return unalias(a).Underlying() }
alias.go#L60: func (a *Alias) Origin() *Alias { return a.orig }
alias.go#L64: func (a *Alias) TypeParams() *TypeParamList { return a.tparams }
alias.go#L68: func (a *Alias) SetTypeParams(tparams []*TypeParam) {
alias.go#L75: func (a *Alias) TypeArgs() *TypeList { return a.targs }
alias.go#L79: func (a *Alias) Rhs() Type { return a.fromRHS }
alias.go#L87: if a0, _ := t.(*Alias); a0 != nil {
alias.go#L93: func unalias(a0 *Alias) Type {
alias.go#L98: for a := a0; a != nil; a, _ = t.(*Alias) {
alias.go#L116: func (check *Checker) newAlias(obj *TypeName, rhs Type) *Alias {
alias.go#L117: a := new(Alias)
alias.go#L136: func (check *Checker) newAliasInstance(pos token.Pos, orig *Alias, targs []Type, expanding *Named, ctxt *Context) *Alias {
alias.go#L147: func (a *Alias) cleanup() {
cycles.go#L117: case *Alias:
decl.go#L271: if a, ok := tname.Type().(*Alias); ok {
expr.go#L1005: case *Alias, *Named:
hash.go#L54: case *Alias:
hash.go#L237: case *Alias:
infer.go#L575: case *Alias:
instantiate.go#L141: case *Alias:
named.go#L650: case *Alias:
object.go#L598: if alias, ok := typ.(*Alias); ok { // materialized? TODO(gri) Do we still need this (e.g. for byte, rune)?
operand.go#L213: case *Alias, *Named:
predicates.go#L145: if alias, _ := t.(*Alias); alias != nil && alias.tparams != nil && alias.targs == nil {
signature.go#L232: a, _ := unpointer(recvType).(*Alias) // recvType is not generic per above
signature.go#L240: a, _ = baseType.(*Alias)
signature.go#L252: case *Alias:
subst.go#L101: case *Alias:
typestring.go#L331: case *Alias:
go.pact.im/x/plumb/internal/emit
name.go#L81: case *types.Alias:
go.pact.im/x/plumb/internal/gotypes
gotypes.go#L221: case *types.Alias:
gotypes.go#L234: case *types.Alias:
gotypes.go#L250: case *types.Alias:
walk.go#L29: if u, ok := t.(*types.Alias); ok {
golang.org/x/tools/go/types/objectpath
objectpath.go#L404: case *types.Alias:
objectpath.go#L464: case *types.Alias:
objectpath.go#L855: if alias, ok := t.(*types.Alias); ok {
golang.org/x/tools/go/types/typeutil
map.go#L227: case *types.Alias:
map.go#L405: case *types.Alias:
golang.org/x/tools/internal/gcimporter
iexport.go#L734: alias, materialized := t.(*types.Alias) // perhaps false for certain built-ins?
iexport.go#L982: case *types.Alias:
golang.org/x/tools/internal/typeparams
free.go#L38: case *types.Alias:
golang.org/x/tools/internal/typesinternal
element.go#L70: case *types.Alias:
types.go#L99: case *types.Alias:
types.go#L136: _ NamedOrAlias = (*types.Alias)(nil)
types.go#L144: case *types.Alias:
zerovalue.go#L71: case *types.Alias:
zerovalue.go#L166: case *types.Alias: