MCPcopy Create free account
hub / github.com/segmentio/encoding / decodeEmbeddedStructPointer

Method decodeEmbeddedStructPointer

json/decode.go:1234–1246  ·  view source on GitHub ↗
(b []byte, p unsafe.Pointer, t reflect.Type, unexported bool, offset uintptr, decode decodeFunc)

Source from the content-addressed store, hash-verified

1232}
1233
1234func (d decoder) decodeEmbeddedStructPointer(b []byte, p unsafe.Pointer, t reflect.Type, unexported bool, offset uintptr, decode decodeFunc) ([]byte, error) {
1235 v := *(*unsafe.Pointer)(p)
1236
1237 if v == nil {
1238 if unexported {
1239 return nil, fmt.Errorf("json: cannot set embedded pointer to unexported struct: %s", t)
1240 }
1241 v = unsafe.Pointer(reflect.New(t).Pointer())
1242 *(*unsafe.Pointer)(p) = v
1243 }
1244
1245 return decode(d, b, unsafe.Pointer(uintptr(v)+offset))
1246}
1247
1248func (d decoder) decodePointer(b []byte, p unsafe.Pointer, t reflect.Type, decode decodeFunc) ([]byte, error) {
1249 if hasNullPrefix(b) {

Calls

no outgoing calls

Tested by

no test coverage detected