type go/types.Pointer
94 uses
go/types (current package)
builtins.go#L872: ptr, _ := u.(*Pointer)
builtins.go#L1152: if p, ok := Unalias(typ).(*Pointer); ok {
call.go#L770: x.typ_ = x.typ().(*Pointer).base
call.go#L824: if p, ok := x.typ().Underlying().(*Pointer); ok && !check.isComplete(p.base) {
call.go#L949: if _, ok := typ.(*Pointer); !ok && !IsInterface(typ) {
call.go#L950: 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 := typ.Underlying().(*Pointer)
expr.go#L146: x.typ_ = &Pointer{base: x.typ()}
expr.go#L470: case *Pointer, *Signature, *Slice, *Map, *Chan:
expr.go#L1133: x.typ_ = &Pointer{base: x.typ()}
expr.go#L1137: p, _ := u.(*Pointer)
hash.go#L118: case *Pointer:
hash.go#L264: case *Pointer:
index.go#L57: case *Pointer:
index.go#L98: case *Pointer:
index.go#L149: case *Pointer:
index.go#L284: if p, ok := x.typ().Underlying().(*Pointer); ok && !check.isComplete(p.base) {
index.go#L329: case *Pointer:
infer.go#L587: case *Pointer:
infer.go#L743: case *Pointer:
instantiate.go#L249: if p, _ := Vu.(*Pointer); p != nil && !isValid(p.base.Underlying()) {
lookup.go#L106: if p, _ := t.Underlying().(*Pointer); p != nil {
lookup.go#L566: p, _ := T.Underlying().(*Pointer)
lookup.go#L573: if p, _ := T.Underlying().(*Pointer); isTypeParam(p.base) {
lookup.go#L630: if p, _ := Unalias(typ).(*Pointer); p != nil {
lookup.go#L646: if p, _ := typ.Underlying().(*Pointer); p != nil {
mono.go#L241: case *Pointer:
operand.go#L261: 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#L215: case *Slice, *Pointer, *Signature, *Map, *Chan:
predicates.go#L308: case *Pointer:
predicates.go#L310: if y, ok := y.(*Pointer); ok {
signature.go#L359: p, _ := t.(*Pointer)
signature.go#L387: ptr, _ := typ.(*Pointer)
signature.go#L496: 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#L317: typ := new(Pointer)
unify.go#L633: case *Pointer:
unify.go#L635: if y, ok := y.(*Pointer); ok {
go.pact.im/x/plumb/internal/discover
discover.go#L329: if ptr, ok := t.(*types.Pointer); ok {
go.pact.im/x/plumb/internal/emit
name.go#L73: case *types.Pointer:
render.go#L93: case *types.Pointer:
render.go#L127: case *types.Pointer:
go.pact.im/x/plumb/internal/gotypes
cmp.go#L44: case *types.Pointer:
cmp.go#L45: return CmpType(a.Elem(), b.(*types.Pointer).Elem())
cmp.go#L162: case *types.Pointer:
gotypes.go#L100: ptr, ok := types.Unalias(t).(*types.Pointer)
subst.go#L43: case *types.Pointer:
unify.go#L28: case *types.Pointer:
unify.go#L29: c, ok := concrete.(*types.Pointer)
unify.go#L144: p, ok := types.Unalias(t).(*types.Pointer)
unify.go#L160: case *types.Pointer:
walk.go#L53: case *types.Pointer:
walk.go#L134: case *types.Pointer:
go.pact.im/x/plumb/internal/solve
solve.go#L877: if _, ok := types.Unalias(want).(*types.Pointer); ok {
golang.org/x/exp/apidiff
compatibility.go#L207: if p, ok := t.(*types.Pointer); ok {
compatibility.go#L294: if _, ok := oldt.(*types.Pointer); ok {
compatibility.go#L313: if _, ok := oldt.(*types.Pointer); !ok {
compatibility.go#L364: case *types.Pointer:
compatibility.go#L374: _, ok := types.Unalias(receiverType(method)).(*types.Pointer)
correspondence.go#L59: case *types.Pointer:
correspondence.go#L60: if new, ok := new.(*types.Pointer); ok {
golang.org/x/tools/go/types/objectpath
objectpath.go#L472: case *types.Pointer, *types.Slice, *types.Array, *types.Chan:
objectpath.go#L696: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
golang.org/x/tools/go/types/typeutil
map.go#L249: case *types.Pointer:
map.go#L437: 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#L1010: case *types.Pointer:
iimport.go#L595: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
golang.org/x/tools/internal/typeparams
coretype.go#L141: if ptr, ok := CoreType(t).(*types.Pointer); ok {
coretype.go#L153: if ptr, ok := CoreType(t).(*types.Pointer); ok {
free.go#L66: case *types.Pointer:
golang.org/x/tools/internal/typesinternal
assignedaddress.go#L74: if is[*types.Pointer](sig.Recv().Type().Underlying()) {
assignedaddress.go#L82: if !is[*types.Pointer](t.Underlying()) {
element.go#L79: case *types.Pointer:
recv.go#L31: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
recv.go#L53: if ptr, ok := types.Unalias(t).(*types.Pointer); ok {
types.go#L257: ptr, isPtr := t.Underlying().(*types.Pointer)
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#L223: case *types.Pointer: