type go/types.Named
145 uses
go/types (current package)
alias.go#L127: func asNamed(t Type) *Named {
alias.go#L128: n, _ := Unalias(t).(*Named)
alias.go#L154: func (check *Checker) newAliasInstance(pos token.Pos, orig *Alias, targs []Type, expanding *Named, ctxt *Context) *Alias {
builtins.go#L1013: func hasVarSize(t Type, seen map[*Named]bool) (varSized bool) {
builtins.go#L1022: seen = make(map[*Named]bool)
builtins.go#L1041: case *Named, *Union:
cycles.go#L114: case *Named:
decl.go#L783: func (check *Checker) checkFieldUniqueness(base *Named) {
expr.go#L1009: case *Alias, *Named:
infer.go#L625: case *Named:
infer.go#L778: case *Named:
instantiate.go#L90: func (check *Checker) instance(pos token.Pos, orig genericType, targs []Type, expanding *Named, ctxt *Context) (res Type) {
instantiate.go#L131: 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#L324: buf [3]*Named
lookup.go#L325: m map[*Named][]*Named
lookup.go#L328: func (l *instanceLookup) lookup(inst *Named) *Named {
lookup.go#L342: func (l *instanceLookup) add(inst *Named) {
lookup.go#L350: 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#L108: type Named struct {
named.go#L133: loader func(*Named) ([]*TypeParam, Type, []*Func, []func())
named.go#L139: orig *Named // original, uninstantiated type
named.go#L191: func NewNamed(obj *TypeName, underlying Type, methods []*Func) *Named {
named.go#L225: func (n *Named) unpack() *Named {
named.go#L291: func (n *Named) stateHas(m stateMask) bool {
named.go#L297: func (n *Named) setState(m stateMask) {
named.go#L323: func (check *Checker) newNamed(obj *TypeName, fromRHS Type, methods []*Func) *Named {
named.go#L324: typ := &Named{check: check, obj: obj, fromRHS: fromRHS, methods: methods}
named.go#L341: func (check *Checker) newNamedInstance(pos token.Pos, orig *Named, targs []Type, expanding *Named) *Named {
named.go#L355: typ := &Named{check: check, obj: obj, inst: inst}
named.go#L364: func (n *Named) cleanup() {
named.go#L375: func (t *Named) Obj() *TypeName {
named.go#L384: func (t *Named) Origin() *Named {
named.go#L393: func (t *Named) TypeParams() *TypeParamList { return t.unpack().tparams }
named.go#L397: func (t *Named) SetTypeParams(tparams []*TypeParam) {
named.go#L403: func (t *Named) TypeArgs() *TypeList {
named.go#L411: func (t *Named) NumMethods() int {
named.go#L426: func (t *Named) Method(i int) *Func {
named.go#L462: func (t *Named) expandMethod(i int) *Func {
named.go#L521: func (t *Named) SetUnderlying(u Type) {
named.go#L545: func (t *Named) AddMethod(m *Func) {
named.go#L557: func (t *Named) methodIndex(name string, foldCase bool) int {
named.go#L580: func (n *Named) rhs() Type {
named.go#L592: func (n *Named) Underlying() Type {
named.go#L612: func (t *Named) String() string { return TypeString(t, nil) }
named.go#L631: func (n *Named) resolveUnderlying() {
named.go#L634: var seen map[*Named]bool // for debugging only
named.go#L636: seen = make(map[*Named]bool)
named.go#L639: var path []*Named
named.go#L649: case *Named:
named.go#L690: func (n *Named) lookupMethod(pkg *Package, name string, foldCase bool) (int, *Func) {
named.go#L743: func (n *Named) expandRHS() (rhs Type) {
object.go#L259: func _NewTypeNameLazy(pos token.Pos, pkg *Package, name string, load func(*Named) ([]*TypeParam, Type, []*Func, []func())) *TypeName {
object.go#L285: case *Named:
operand.go#L197: case *Alias, *Named:
predicates.go#L69: case *Basic, *Named, *TypeParam:
predicates.go#L80: case *Named, *TypeParam:
predicates.go#L469: case *Named:
predicates.go#L504: func identicalOrigin(x, y *Named) bool {
signature.go#L247: var baseType *Named // nil if not valid
signature.go#L251: case *Named:
signature.go#L485: 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:
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#L190: func makeObjList(tlist []*Named) []Object {
go.pact.im/x/plumb/internal/discover
discover.go#L328: func receiverNamed(t types.Type) *types.Named {
discover.go#L332: n, ok := types.Unalias(t).(*types.Named)
go.pact.im/x/plumb/internal/emit
name.go#L79: case *types.Named:
go.pact.im/x/plumb/internal/gotypes
cmp.go#L123: case *types.Named:
cmp.go#L124: b := b.(*types.Named)
cmp.go#L180: case *types.Named:
gotypes.go#L117: case *types.Named, *types.TypeParam, *types.Basic:
gotypes.go#L219: case *types.Named:
gotypes.go#L232: case *types.Named:
gotypes.go#L248: case *types.Named:
subst.go#L86: case *types.Named:
unify.go#L43: case *types.Named:
unify.go#L44: c, ok := concrete.(*types.Named)
unify.go#L170: case *types.Named:
walk.go#L44: case *types.Named:
walk.go#L144: case *types.Named:
go.pact.im/x/plumb/internal/solve
instance.go#L173: m := lookupMethod(owner.(*types.Named), p.Fn.Name())
instance.go#L268: func lookupMethod(named *types.Named, name string) *types.Func {
golang.org/x/exp/apidiff
apidiff.go#L159: if oldn, ok := tn.Type().(*types.Named); ok {
apidiff.go#L207: ot1 := k1.(*types.Named)
apidiff.go#L223: ot2 := k2.(*types.Named)
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 types.Unalias(t.Elem()).(*types.Named)
compatibility.go#L354: case *types.Named:
correspondence.go#L123: case *types.Named:
correspondence.go#L146: if on, ok := of.Type().(*types.Named); ok {
correspondence.go#L147: nn := nf.Type().(*types.Named)
correspondence.go#L161: func (d *differ) establishCorrespondence(old *types.Named, new types.Type) bool {
correspondence.go#L191: case *types.Named:
correspondence.go#L305: func isInstantiated(t *types.Named) bool {
golang.org/x/tools/go/types/objectpath
objectpath.go#L401: case *types.Named:
objectpath.go#L430: } else if T, ok := types.Unalias(tname.Type()).(*types.Named); ok {
objectpath.go#L461: case *types.Basic, *types.Named:
objectpath.go#L837: named, ok := t.(*types.Named)
objectpath.go#L912: case *types.Named:
golang.org/x/tools/go/types/typeutil
map.go#L304: case *types.Named:
map.go#L452: 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#L794: named, ok := t.(*types.Named)
iexport.go#L1026: case *types.Named:
iexport.go#L1130: if named, _ := types.Unalias(ft).(*types.Named); named != nil {
iimport.go#L513: func (p *iimporter) typAt(off uint64, base *types.Named) types.Type {
iimport.go#L538: func canReuse(def *types.Named, rhs types.Type) bool {
iimport.go#L878: func (r *importReader) doType(base *types.Named) (res types.Type) {
golang.org/x/tools/internal/typeparams
coretype.go#L117: if named, ok := typ.(*types.Named); ok {
free.go#L109: case *types.Named:
golang.org/x/tools/internal/typesinternal
element.go#L102: case *types.Named:
isnamed.go#L19: if named, ok := types.Unalias(t).(*types.Named); ok {
recv.go#L17: func ReceiverNamed(recv *types.Var) (isPtr bool, named *types.Named) {
recv.go#L23: named, _ = types.Unalias(t).(*types.Named)
types.go#L101: case *types.Named:
types.go#L137: _ NamedOrAlias = (*types.Named)(nil)
types.go#L146: case *types.Named:
zerovalue.go#L63: case *types.Named:
zerovalue.go#L156: case *types.Named: