go/types.Type.Underlying (method)
31 uses
go/types (current package)
api.go#L428: if T.Underlying() == Typ[Invalid] {
api.go#L466: if V.Underlying() == Typ[Invalid] {
named.go#L414: return typ.Underlying()
type.go#L11: Underlying() Type
type.go#L25: return t.Underlying()
golang.org/x/exp/apidiff
apidiff.go#L97: oIface, ok := otn1.Type().Underlying().(*types.Interface)
apidiff.go#L101: nIface, ok := nt1.Underlying().(*types.Interface)
compatibility.go#L202: t := f.Type().Underlying()
compatibility.go#L204: t = p.Elem().Underlying()
compatibility.go#L263: d.checkCompatible(otn, old.Underlying(), new.Underlying())
compatibility.go#L266: if reflect.TypeOf(old.Underlying()) != reflect.TypeOf(new.Underlying()) {
golang.org/x/tools/internal/gcimporter
iexport.go#L527: underlying := obj.Type().Underlying()
iexport.go#L916: switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
iexport.go#L942: panic(internalErrorf("unexpected type %v (%v)", typ, typ.Underlying()))
iexport.go#L993: basic, ok := typ.Underlying().(*types.Basic)
iexport.go#L995: panic(internalErrorf("unexpected type %v (%T)", typ.Underlying(), typ.Underlying()))
iimport.go#L512: underlying := r.p.typAt(r.uint64(), named).Underlying()
iimport.go#L594: switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
ureader_yes.go#L597: if underlying := rhs.Underlying(); underlying != nil {
ureader_yes.go#L609: setUnderlying(rhs.Underlying())
golang.org/x/tools/internal/typeparams
coretype.go#L15: U := T.Underlying()
coretype.go#L27: U = terms[0].Type().Underlying()
coretype.go#L30: if !types.Identical(U, terms[identical].Type().Underlying()) {
coretype.go#L48: curr, ok := terms[chans].Type().Underlying().(*types.Chan)
normalize.go#L68: iface, _ := constraint.Underlying().(*types.Interface)
normalize.go#L70: return nil, fmt.Errorf("constraint is %T, not *types.Interface", constraint.Underlying())
normalize.go#L158: switch u := t.Underlying().(type) {
normalize.go#L165: if _, ok := embedded.Underlying().(*TypeParam); ok {
normalize.go#L180: switch t.Type().Underlying().(type) {
normalize.go#L217: return t.Underlying()