type go/types.Named
125 uses
go/types (current package)
alias.go#L137: func asNamed(t Type) *Named {
alias.go#L138: n, _ := Unalias(t).(*Named)
alias.go#L165: func (check *Checker) newAliasInstance(pos token.Pos, orig *Alias, targs []Type, expanding *Named, ctxt *Context) *Alias {
builtins.go#L924: func hasVarSize(t Type, seen map[*Named]bool) (varSized bool) {
builtins.go#L933: seen = make(map[*Named]bool)
builtins.go#L952: case *Named, *Union:
decl.go#L804: func (check *Checker) checkFieldUniqueness(base *Named) {
expr.go#L972: case *Alias, *Named:
infer.go#L625: case *Named:
infer.go#L777: case *Named:
instantiate.go#L91: func (check *Checker) instance(pos token.Pos, orig genericType, targs []Type, expanding *Named, ctxt *Context) (res Type) {
instantiate.go#L132: case *Named:
interface.go#L39: func NewInterface(methods []*Func, embeddeds []*Named) *Interface {
interface.go#L107: func (t *Interface) Embedded(i int) *Named { return asNamed(t.embeddeds[i]) }
iter.go#L60: func (t *Named) Methods() iter.Seq[*Func] {
lookup.go#L283: buf [3]*Named
lookup.go#L284: m map[*Named][]*Named
lookup.go#L287: func (l *instanceLookup) lookup(inst *Named) *Named {
lookup.go#L301: func (l *instanceLookup) add(inst *Named) {
lookup.go#L309: l.m = make(map[*Named][]*Named)
mono.go#L156: case *Named:
mono.go#L222: case *Named:
mono.go#L269: func (w *monoGraph) localNamedVertex(pkg *Package, named *Named) int {
named.go#L109: type Named struct {
named.go#L134: loader func(*Named) (tparams []*TypeParam, underlying Type, methods []*Func)
named.go#L140: orig *Named // original, uninstantiated type
named.go#L158: func NewNamed(obj *TypeName, underlying Type, methods []*Func) *Named {
named.go#L172: func (n *Named) resolve() *Named {
named.go#L232: func (n *Named) state() namedState {
named.go#L238: func (n *Named) setState(state namedState) {
named.go#L243: func (check *Checker) newNamed(obj *TypeName, underlying Type, methods []*Func) *Named {
named.go#L244: typ := &Named{check: check, obj: obj, fromRHS: underlying, underlying: underlying, methods: methods}
named.go#L261: func (check *Checker) newNamedInstance(pos token.Pos, orig *Named, targs []Type, expanding *Named) *Named {
named.go#L275: typ := &Named{check: check, obj: obj, inst: inst}
named.go#L284: func (t *Named) cleanup() {
named.go#L299: case *Named, *Alias:
named.go#L307: func (t *Named) Obj() *TypeName {
named.go#L316: func (t *Named) Origin() *Named {
named.go#L325: func (t *Named) TypeParams() *TypeParamList { return t.resolve().tparams }
named.go#L329: func (t *Named) SetTypeParams(tparams []*TypeParam) {
named.go#L335: func (t *Named) TypeArgs() *TypeList {
named.go#L343: func (t *Named) NumMethods() int {
named.go#L358: func (t *Named) Method(i int) *Func {
named.go#L394: func (t *Named) expandMethod(i int) *Func {
named.go#L453: func (t *Named) SetUnderlying(underlying Type) {
named.go#L470: func (t *Named) AddMethod(m *Func) {
named.go#L482: func (t *Named) methodIndex(name string, foldCase bool) int {
named.go#L507: func (t *Named) Underlying() Type {
named.go#L512: func (t *Named) String() string { return TypeString(t, nil) }
named.go#L538: func (n0 *Named) under() Type {
named.go#L544: var n1 *Named
named.go#L553: case *Named:
named.go#L567: seen := make(map[*Named]int) // types that need their underlying type resolved
named.go#L588: case *Named:
named.go#L608: func (n *Named) lookupMethod(pkg *Package, name string, foldCase bool) (int, *Func) {
named.go#L632: func (n *Named) expandUnderlying() Type {
object.go#L299: func _NewTypeNameLazy(pos token.Pos, pkg *Package, name string, load func(named *Named) (tparams []*TypeParam, underlying Type, methods []*Func)) *TypeName {
object.go#L324: case *Named:
operand.go#L197: case *Alias, *Named:
predicates.go#L72: case *Basic, *Named, *TypeParam:
predicates.go#L83: case *Named, *TypeParam:
predicates.go#L471: case *Named:
predicates.go#L506: func identicalOrigin(x, y *Named) bool {
signature.go#L199: var baseType *Named // nil if not valid
signature.go#L203: case *Named:
signature.go#L436: case *Named:
subst.go#L58: func (check *Checker) subst(pos token.Pos, typ Type, smap substMap, expanding *Named, ctxt *Context) Type {
subst.go#L88: expanding *Named // if non-nil, the instance that is being expanded
subst.go#L241: case *Named:
typestring.go#L294: case *Named:
typexpr.go#L425: case *Named:
unify.go#L735: case *Named:
validtype.go#L16: func (check *Checker) validType(typ *Named) {
validtype.go#L30: func (check *Checker) validType0(pos token.Pos, typ Type, nest, path []*Named) bool {
validtype.go#L34: if t, _ := typ.(*Named); t != nil && t.obj != nil /* obj should always exist but be conservative */ {
validtype.go#L76: case *Named:
validtype.go#L195: func makeObjList(tlist []*Named) []Object {
golang.org/x/exp/apidiff
compatibility.go#L35: case *types.Named:
compatibility.go#L261: func (d *differ) checkCompatibleDefined(otn *types.TypeName, old *types.Named, new types.Type) {
compatibility.go#L350: func receiverNamedType(method types.Object) *types.Named {
compatibility.go#L353: return t.Elem().(*types.Named)
compatibility.go#L354: case *types.Named:
correspondence.go#L119: case *types.Named:
correspondence.go#L120: if new, ok := new.(*types.Named); ok {
correspondence.go#L149: if on, ok := of.Type().(*types.Named); ok {
correspondence.go#L150: nn := nf.Type().(*types.Named)
correspondence.go#L159: func (d *differ) establishCorrespondence(old *types.Named, new types.Type) bool {
correspondence.go#L184: if newn, ok := new.(*types.Named); ok {
correspondence.go#L229: oldn, ok := old.(*types.Named)
correspondence.go#L233: newn, ok := new.(*types.Named)
golang.org/x/tools/go/types/objectpath
objectpath.go#L297: } else if named, ok := T.(*types.Named); ok {
objectpath.go#L323: if T, ok := types.Unalias(o.Type()).(*types.Named); ok {
objectpath.go#L472: case *types.Basic, *types.Named:
objectpath.go#L689: named, ok := t.(*types.Named)
objectpath.go#L764: case *types.Named:
golang.org/x/tools/go/types/typeutil
map.go#L305: case *types.Named:
map.go#L468: case *types.Named:
methodsetcache.go#L19: named map[*types.Named]struct{ value, pointer *types.MethodSet } // method sets for named N and *N
methodsetcache.go#L36: case *types.Named:
methodsetcache.go#L40: if N, ok := types.Unalias(T.Elem()).(*types.Named); ok {
methodsetcache.go#L58: func (cache *MethodSetCache) lookupNamed(named *types.Named) struct{ value, pointer *types.MethodSet } {
methodsetcache.go#L60: cache.named = make(map[*types.Named]struct{ value, pointer *types.MethodSet })
golang.org/x/tools/internal/gcimporter
iexport.go#L796: named, ok := t.(*types.Named)
iexport.go#L1016: case *types.Named:
iexport.go#L1121: if named, _ := types.Unalias(ft).(*types.Named); named != nil {
iimport.go#L514: func (p *iimporter) typAt(off uint64, base *types.Named) types.Type {
iimport.go#L539: func canReuse(def *types.Named, rhs types.Type) bool {
iimport.go#L876: func (r *importReader) doType(base *types.Named) (res types.Type) {
golang.org/x/tools/internal/typeparams
coretype.go#L115: if named, ok := typ.(*types.Named); ok {
free.go#L111: case *types.Named:
golang.org/x/tools/internal/typesinternal
element.go#L98: case *types.Named:
recv.go#L17: func ReceiverNamed(recv *types.Var) (isPtr bool, named *types.Named) {
recv.go#L23: named, _ = types.Unalias(t).(*types.Named)
types.go#L87: case *types.Named:
types.go#L123: _ NamedOrAlias = (*types.Named)(nil)
types.go#L132: case *types.Named:
zerovalue.go#L63: case *types.Named:
zerovalue.go#L156: case *types.Named: