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()