MCPcopy
hub / github.com/uptrace/uptrace / decodeStructFieldID

Method decodeStructFieldID

pkg/msgp/decoder.go:378–402  ·  view source on GitHub ↗
(b []byte)

Source from the content-addressed store, hash-verified

376var errInvalidFieldID = errors.New("invalid struct field id")
377
378func (d decoder) decodeStructFieldID(b []byte) (int, []byte, error) {
379 c, b, err := readByte(b)
380 if err != nil {
381 return 0, nil, err
382 }
383 if msgpcode.IsFixedNum(c) {
384 return int(int8(c)), b, nil
385 }
386 switch c {
387 case msgpcode.Uint8:
388 n, b, err := readByte(b)
389 if err != nil {
390 return 0, nil, err
391 }
392 return int(n), b, nil
393 case msgpcode.Uint16:
394 n, b, err := parseUint16(b)
395 if err != nil {
396 return 0, nil, err
397 }
398 return int(n), b, nil
399 default:
400 return 0, nil, errInvalidFieldID
401 }
402}
403func (d decoder) decodeEmbeddedStructPointer(b []byte, p unsafe.Pointer, t reflect.Type, unexported bool, offset uintptr, decode decodeFunc) ([]byte, error) {
404 v := *(*unsafe.Pointer)(p)
405 if v == nil {

Callers 1

decodeStructFieldMethod · 0.95

Calls 2

readByteFunction · 0.85
parseUint16Function · 0.85

Tested by

no test coverage detected