go/types.Named.Underlying (method, view implemented interface methods)

20 uses

	go/types (current package)
		decl.go#L513: 	u, _ := named.Underlying().(*Interface)
		decl.go#L784: 	if t, _ := base.Underlying().(*Struct); t != nil {
		lookup.go#L103: 		if p, _ := t.Underlying().(*Pointer); p != nil {
		named.go#L368: 		n.Underlying()
		named.go#L592: func (n *Named) Underlying() Type {
		signature.go#L491: 		switch u := T.Underlying().(type) {
		unify.go#L345: 		y = ny.Underlying()
		universe.go#L132: 		typ.Underlying()
		universe.go#L145: 		typ.Underlying()

	golang.org/x/exp/apidiff
		compatibility.go#L263: 	d.checkCompatible(otn, old.Underlying(), new.Underlying())
		compatibility.go#L266: 	if reflect.TypeOf(old.Underlying()) != reflect.TypeOf(new.Underlying()) {
		compatibility.go#L270: 	if _, ok := old.Underlying().(*types.Interface); ok {

	golang.org/x/tools/go/types/objectpath
		objectpath.go#L403: 			tr.typ(path, offset, opUnderlying, -1, t.Underlying())
		objectpath.go#L841: 			t = named.Underlying()

	golang.org/x/tools/internal/gcimporter
		iexport.go#L812: 		underlying := named.Underlying()

	golang.org/x/tools/internal/typeparams
		coretype.go#L118: 		typ = named.Underlying()
		free.go#L119: 		return w.Has(t.Underlying()) // recurse for types local to parameterized functions

	golang.org/x/tools/internal/typesinternal
		element.go#L111: 			visit(T.Underlying(), true) // skip the unnamed type
		zerovalue.go#L64: 		switch under := t.Underlying().(type) {
		zerovalue.go#L157: 		switch under := t.Underlying().(type) {