type go/types.Pointer
57 uses
go/types (current package)
builtins.go#L543: x.typ = &Pointer{base: T}
builtins.go#L738: typ, _ := under(x.typ).(*Pointer)
builtins.go#L894: if p, ok := typ.(*Pointer); ok {
call.go#L507: x.typ = x.typ.(*Pointer).base
call.go#L678: if _, ok := typ.(*Pointer); !ok && !IsInterface(typ) {
call.go#L679: typ = &Pointer{base: typ}
conversions.go#L149: if V, ok := V.(*Pointer); ok {
conversions.go#L150: if T, ok := T.(*Pointer); ok {
conversions.go#L190: if p, _ := Tu.(*Pointer); p != nil {
conversions.go#L280: _, ok := under(typ).(*Pointer)
expr.go#L172: x.typ = &Pointer{base: x.typ}
expr.go#L719: case *Pointer, *Signature, *Slice, *Map, *Chan:
expr.go#L877: case *Pointer:
expr.go#L1592: x.typ = &Pointer{base: x.typ}
expr.go#L1596: p, _ := u.(*Pointer)
index.go#L75: case *Pointer:
index.go#L126: case *Pointer:
index.go#L256: case *Pointer:
infer.go#L398: case *Pointer:
infer.go#L733: case *Pointer:
instantiate.go#L162: if p, _ := Vu.(*Pointer); p != nil && under(p.base) == Typ[Invalid] {
lookup.go#L57: if p, _ := t.Underlying().(*Pointer); p != nil {
lookup.go#L408: p, _ := under(T).(*Pointer)
lookup.go#L415: if p, _ := under(T).(*Pointer); isTypeParam(p.base) {
lookup.go#L465: if p, _ := typ.(*Pointer); p != nil {
lookup.go#L481: if p, _ := under(typ).(*Pointer); p != nil {
mono.go#L235: case *Pointer:
pointer.go#L8: type Pointer struct {
pointer.go#L13: func NewPointer(elem Type) *Pointer { return &Pointer{base: elem} }
pointer.go#L16: func (p *Pointer) Elem() Type { return p.base }
pointer.go#L18: func (t *Pointer) Underlying() Type { return t }
pointer.go#L19: func (t *Pointer) String() string { return TypeString(t, nil) }
predicates.go#L126: case *Pointer, *Chan:
predicates.go#L157: case *Slice, *Pointer, *Signature, *Map, *Chan:
predicates.go#L227: case *Pointer:
predicates.go#L229: if y, ok := y.(*Pointer); ok {
signature.go#L246: case *Pointer, *Interface:
struct.go#L156: case *Pointer:
subst.go#L110: case *Pointer:
subst.go#L113: return &Pointer{base: base}
typestring.go#L176: case *Pointer:
typexpr.go#L317: typ := new(Pointer)
unify.go#L439: case *Pointer:
unify.go#L441: 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/internal/gcimporter
bexport.go#L359: case *types.Pointer:
bimport.go#L519: t := new(types.Pointer)
gcimporter.go#L255: if p, _ := typ.(*types.Pointer); p != nil {
iexport.go#L732: case *types.Pointer:
iimport.go#L970: if p, _ := typ.(*types.Pointer); p != nil {
golang.org/x/tools/internal/typeparams
common.go#L94: p, isPtr := base.(*types.Pointer)