func go/types.Unalias
87 uses
go/types (current package)
alias.go#L104: func Unalias(t Type) Type {
alias.go#L128: n, _ := Unalias(t).(*Named)
builtins.go#L1055: if tp, _ := Unalias(x.typ).(*TypeParam); tp != nil {
builtins.go#L1121: if p, ok := Unalias(typ).(*Pointer); ok {
conversions.go#L146: V := Unalias(x.typ)
conversions.go#L147: T = Unalias(T)
cycles.go#L113: switch t := Unalias(t).(type) {
infer.go#L576: return w.isParameterized(Unalias(t))
infer.go#L709: typ = Unalias(typ)
lookup.go#L619: if p, _ := Unalias(typ).(*Pointer); p != nil {
mono.go#L214: switch typ := Unalias(typ).(type) {
operand.go#L194: tpar, _ := Unalias(x.typ).(*TypeParam)
operand.go#L318: V := Unalias(x.typ)
operand.go#L319: T = Unalias(T)
predicates.go#L18: func isValid(t Type) bool { return Unalias(t) != Typ[Invalid] }
predicates.go#L58: if tpar, _ := Unalias(t).(*TypeParam); tpar != nil {
predicates.go#L68: switch Unalias(t).(type) {
predicates.go#L79: switch Unalias(t).(type) {
predicates.go#L124: _, ok := Unalias(t).(*TypeParam)
predicates.go#L133: if tpar, _ := Unalias(t).(*TypeParam); tpar != nil && tpar.bound != nil {
predicates.go#L253: x = Unalias(x)
predicates.go#L254: y = Unalias(y)
signature.go#L477: atyp := Unalias(rtyp)
typeset.go#L121: u := Unalias(t.typ)
typestring.go#L350: w.typ(Unalias(t.obj.typ))
under.go#L23: if p, _ := Unalias(t).(*TypeParam); p != nil {
unify.go#L214: if x, _ := Unalias(x).(*TypeParam); x != nil {
unify.go#L275: if _, ok := Unalias(x).(*TypeParam); !ok {
unify.go#L298: if x == y || Unalias(x) == Unalias(y) {
unify.go#L350: if x == y || Unalias(x) == Unalias(y) {
unify.go#L452: assert(x != y && Unalias(x) != Unalias(y))
unify.go#L577: xorig, x := x, Unalias(x)
unify.go#L578: yorig, y := y, Unalias(y)
validtype.go#L31: typ = Unalias(typ)
go.pact.im/x/plumb/internal/discover
discover.go#L332: n, ok := types.Unalias(t).(*types.Named)
discover.go#L628: under := types.Unalias(tn.Type()).Underlying()
go.pact.im/x/plumb/internal/gotypes
cmp.go#L36: a = types.Unalias(a)
cmp.go#L37: b = types.Unalias(b)
gotypes.go#L100: ptr, ok := types.Unalias(t).(*types.Pointer)
gotypes.go#L116: switch types.Unalias(t).(type) {
gotypes.go#L168: sig, ok := types.Unalias(t).(*types.Signature)
gotypes.go#L174: sig, ok := types.Unalias(t).(*types.Signature)
subst.go#L36: t = types.Unalias(t)
unify.go#L11: pattern = types.Unalias(pattern)
unify.go#L12: concrete = types.Unalias(concrete)
unify.go#L135: tp, ok := types.Unalias(t).(*types.TypeParam)
unify.go#L144: p, ok := types.Unalias(t).(*types.Pointer)
unify.go#L155: t = types.Unalias(t)
walk.go#L122: t = types.Unalias(t)
go.pact.im/x/plumb/internal/solve
solve.go#L877: if _, ok := types.Unalias(want).(*types.Pointer); ok {
golang.org/x/exp/apidiff
apidiff.go#L312: old = types.Unalias(old)
apidiff.go#L313: new = types.Unalias(new)
compatibility.go#L351: switch t := types.Unalias(receiverType(method)).(type) {
compatibility.go#L353: return types.Unalias(t.Elem()).(*types.Named)
compatibility.go#L362: _, ok := types.Unalias(receiverType(method)).(*types.Pointer)
correspondence.go#L30: old = types.Unalias(old)
correspondence.go#L31: new = types.Unalias(new)
golang.org/x/tools/go/types/objectpath
objectpath.go#L290: if _, ok := types.Unalias(obj.Type()).(*types.TypeParam); !ok {
objectpath.go#L430: } else if T, ok := types.Unalias(tname.Type()).(*types.Named); ok {
objectpath.go#L806: t = types.Unalias(t)
golang.org/x/tools/go/types/typeutil
map.go#L228: return h.hash(types.Unalias(t))
map.go#L406: return h.shallowHash(types.Unalias(t))
methodsetcache.go#L35: switch T := types.Unalias(T).(type) {
methodsetcache.go#L40: if N, ok := types.Unalias(T.Elem()).(*types.Named); ok {
ui.go#L29: ptr, ok := types.Unalias(T).(*types.Pointer)
golang.org/x/tools/internal/gcimporter
iexport.go#L753: if tparam, ok := types.Unalias(t).(*types.TypeParam); ok {
iexport.go#L759: if iface, _ := types.Unalias(constraint).(*types.Interface); iface != nil {
iexport.go#L1130: if named, _ := types.Unalias(ft).(*types.Named); named != nil {
iimport.go#L542: iface, _ := types.Unalias(rhs).(*types.Interface)
iimport.go#L633: rparams[i] = types.Unalias(targs.At(i)).(*types.TypeParam)
iimport.go#L662: iface, _ := types.Unalias(constraint).(*types.Interface)
iimport.go#L871: _, ok := types.Unalias(t).(*types.Interface)
iimport.go#L1070: xs[i] = types.Unalias(r.typ()).(*types.TypeParam)
ureader.go#L584: if iface, ok := types.Unalias(underlying).(*types.Interface); ok && iface.NumExplicitMethods() != 0 {
golang.org/x/tools/internal/typeparams
common.go#L66: _, ok := types.Unalias(t).(*types.TypeParam)
coretype.go#L116: typ := types.Unalias(T)
free.go#L51: return w.Has(types.Unalias(t))
golang.org/x/tools/internal/typesinternal
element.go#L74: visit(types.Unalias(T), skip) // emulates the pre-Alias behavior
isnamed.go#L19: if named, ok := types.Unalias(t).(*types.Named); ok {
recv.go#L19: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
recv.go#L23: named, _ = types.Unalias(t).(*types.Named)
recv.go#L40: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
zerovalue.go#L81: return ZeroString(types.Unalias(t), qual)
zerovalue.go#L173: return ZeroExpr(types.Unalias(t), qual)