(ctx *ReadContext, refMode RefMode, readType bool, hasGenerics bool, value reflect.Value)
| 74 | } |
| 75 | |
| 76 | func (s *extensionSerializerAdapter) Read(ctx *ReadContext, refMode RefMode, readType bool, hasGenerics bool, value reflect.Value) { |
| 77 | _ = hasGenerics // not used for extension serializers |
| 78 | buf := ctx.Buffer() |
| 79 | ctxErr := ctx.Err() |
| 80 | switch refMode { |
| 81 | case RefModeTracking: |
| 82 | refID, refErr := ctx.RefResolver().TryPreserveRefId(buf) |
| 83 | if refErr != nil { |
| 84 | ctx.SetError(FromError(refErr)) |
| 85 | return |
| 86 | } |
| 87 | if refID < int32(NotNullValueFlag) { |
| 88 | obj := ctx.RefResolver().GetReadObject(refID) |
| 89 | if obj.IsValid() { |
| 90 | value.Set(obj) |
| 91 | } |
| 92 | return |
| 93 | } |
| 94 | case RefModeNullOnly: |
| 95 | flag := buf.ReadInt8(ctxErr) |
| 96 | if flag == NullFlag { |
| 97 | return |
| 98 | } |
| 99 | } |
| 100 | s.ReadData(ctx, value) |
| 101 | } |
| 102 | |
| 103 | func (s *extensionSerializerAdapter) ReadWithTypeInfo(ctx *ReadContext, refMode RefMode, typeInfo *TypeInfo, value reflect.Value) { |
| 104 | s.Read(ctx, refMode, false, false, value) |
no test coverage detected