type go/types.Pointer
68 uses
go/types (current package)
builtins.go#L610: x.typ = &Pointer{base: T}
builtins.go#L804: ptr, _ := coreType(x.typ).(*Pointer)
builtins.go#L1032: if p, ok := Unalias(typ).(*Pointer); ok {
call.go#L751: x.typ = x.typ.(*Pointer).base
call.go#L930: if _, ok := typ.(*Pointer); !ok && !IsInterface(typ) {
call.go#L931: typ = &Pointer{base: typ}
conversions.go#L162: if V, ok := V.(*Pointer); ok {
conversions.go#L163: if T, ok := T.(*Pointer); ok {
conversions.go#L216: case *Pointer:
conversions.go#L308: _, ok := under(typ).(*Pointer)
expr.go#L146: x.typ = &Pointer{base: x.typ}
expr.go#L439: case *Pointer, *Signature, *Slice, *Map, *Chan:
expr.go#L1097: x.typ = &Pointer{base: x.typ}
expr.go#L1101: p, _ := u.(*Pointer)
index.go#L76: case *Pointer:
index.go#L127: case *Pointer:
index.go#L258: case *Pointer:
infer.go#L587: case *Pointer:
infer.go#L742: case *Pointer:
instantiate.go#L242: if p, _ := Vu.(*Pointer); p != nil && !isValid(under(p.base)) {
lookup.go#L62: if p, _ := t.Underlying().(*Pointer); p != nil {
lookup.go#L514: p, _ := under(T).(*Pointer)
lookup.go#L521: if p, _ := under(T).(*Pointer); isTypeParam(p.base) {
lookup.go#L578: if p, _ := Unalias(typ).(*Pointer); p != nil {
lookup.go#L594: if p, _ := under(typ).(*Pointer); p != nil {
mono.go#L241: case *Pointer:
operand.go#L245: case *Pointer:
pointer.go#L11: type Pointer struct {
pointer.go#L16: func NewPointer(elem Type) *Pointer { return &Pointer{base: elem} }
pointer.go#L19: func (p *Pointer) Elem() Type { return p.base }
pointer.go#L21: func (p *Pointer) Underlying() Type { return p }
pointer.go#L22: func (p *Pointer) String() string { return TypeString(p, nil) }
predicates.go#L176: case *Pointer, *Chan:
predicates.go#L217: case *Slice, *Pointer, *Signature, *Map, *Chan:
predicates.go#L310: case *Pointer:
predicates.go#L312: if y, ok := y.(*Pointer); ok {
signature.go#L312: p, _ := t.(*Pointer)
signature.go#L340: ptr, _ := typ.(*Pointer)
signature.go#L448: case *Pointer, *Interface:
struct.go#L158: case *Pointer:
subst.go#L142: case *Pointer:
subst.go#L145: return &Pointer{base: base}
typestring.go#L187: case *Pointer:
typexpr.go#L337: typ := new(Pointer)
unify.go#L624: case *Pointer:
unify.go#L626: if y, ok := y.(*Pointer); ok {
golang.org/x/exp/apidiff
compatibility.go#L203: if p, ok := t.(*types.Pointer); ok {
compatibility.go#L289: if _, ok := oldt.(*types.Pointer); ok {
compatibility.go#L352: case *types.Pointer:
compatibility.go#L362: _, ok := receiverType(method).(*types.Pointer)
correspondence.go#L55: case *types.Pointer:
correspondence.go#L56: if new, ok := new.(*types.Pointer); ok {
golang.org/x/tools/go/types/objectpath
objectpath.go#L476: case *types.Pointer:
golang.org/x/tools/go/types/typeutil
map.go#L250: case *types.Pointer:
map.go#L453: case *types.Pointer:
methodsetcache.go#L39: case *types.Pointer:
ui.go#L29: ptr, ok := types.Unalias(T).(*types.Pointer)
golang.org/x/tools/internal/gcimporter
iexport.go#L1033: case *types.Pointer:
golang.org/x/tools/internal/typeparams
coretype.go#L139: if ptr, ok := CoreType(t).(*types.Pointer); ok {
coretype.go#L151: if ptr, ok := CoreType(t).(*types.Pointer); ok {
free.go#L68: case *types.Pointer:
golang.org/x/tools/internal/typesinternal
element.go#L78: case *types.Pointer:
recv.go#L19: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
recv.go#L40: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
zerovalue.go#L54: case *types.Pointer, *types.Slice, *types.Chan, *types.Map, *types.Signature:
zerovalue.go#L147: case *types.Pointer, *types.Slice, *types.Chan, *types.Map, *types.Signature:
zerovalue.go#L234: case *types.Pointer: