equal
deleted
inserted
replaced
77 return pointer{v: reflect.ValueOf(*i)} |
77 return pointer{v: reflect.ValueOf(*i)} |
78 } |
78 } |
79 |
79 |
80 // toAddrPointer converts an interface to a pointer that points to |
80 // toAddrPointer converts an interface to a pointer that points to |
81 // the interface data. |
81 // the interface data. |
82 func toAddrPointer(i *interface{}, isptr bool) pointer { |
82 func toAddrPointer(i *interface{}, isptr, deref bool) pointer { |
83 v := reflect.ValueOf(*i) |
83 v := reflect.ValueOf(*i) |
84 u := reflect.New(v.Type()) |
84 u := reflect.New(v.Type()) |
85 u.Elem().Set(v) |
85 u.Elem().Set(v) |
|
86 if deref { |
|
87 u = u.Elem() |
|
88 } |
86 return pointer{v: u} |
89 return pointer{v: u} |
87 } |
90 } |
88 |
91 |
89 // valToPointer converts v to a pointer. v must be of pointer type. |
92 // valToPointer converts v to a pointer. v must be of pointer type. |
90 func valToPointer(v reflect.Value) pointer { |
93 func valToPointer(v reflect.Value) pointer { |