| 978 | } |
| 979 | |
| 980 | func (d *decoder) pointer(ptrID uint64) (out *semantic.Pointer) { |
| 981 | d.build(d.content.Instances.Pointer, &d.inst.Pointer, ptrID, &out, |
| 982 | func(p *Pointer, s *semantic.Pointer) { |
| 983 | s.Named = semantic.Named(d.str(p.Name)) |
| 984 | s.To = d.ty(p.To) |
| 985 | s.Const = p.Const |
| 986 | s.Slice = d.slice(p.Slice) |
| 987 | if owner := d.node(p.Owner); owner != nil { |
| 988 | semantic.Add(owner.(semantic.Owner), s) |
| 989 | } |
| 990 | }) |
| 991 | return |
| 992 | } |
| 993 | |
| 994 | func (d *decoder) pointerRange(ptrRangeID uint64) (out *semantic.PointerRange) { |
| 995 | d.build(d.content.Instances.PointerRange, &d.inst.PointerRange, ptrRangeID, &out, |