MCPcopy Create free account
hub / github.com/apache/fory / writeNull

Method writeNull

go/fory/optional_serializer.go:203–221  ·  view source on GitHub ↗
(ctx *WriteContext, refMode RefMode, writeType bool)

Source from the content-addressed store, hash-verified

201}
202
203func (s *optionalSerializer) writeNull(ctx *WriteContext, refMode RefMode, writeType bool) {
204 switch refMode {
205 case RefModeTracking, RefModeNullOnly:
206 ctx.Buffer().WriteInt8(NullFlag)
207 return
208 case RefModeNone:
209 // For RefModeNone, write zero value data without any flag.
210 zero := reflect.New(s.valueType).Elem()
211 if writeType {
212 info, err := ctx.TypeResolver().getTypeInfo(zero, true)
213 if err != nil {
214 ctx.SetError(FromError(err))
215 return
216 }
217 ctx.TypeResolver().WriteTypeInfo(ctx.Buffer(), info, ctx.Err())
218 }
219 s.valueSerializer.WriteData(ctx, zero)
220 }
221}
222
223func (s *optionalSerializer) writeValue(ctx *WriteContext, refMode RefMode, writeType bool, valueField reflect.Value) {
224 switch refMode {

Callers 1

WriteMethod · 0.95

Calls 9

FromErrorFunction · 0.85
WriteDataMethod · 0.65
WriteInt8Method · 0.45
BufferMethod · 0.45
getTypeInfoMethod · 0.45
TypeResolverMethod · 0.45
SetErrorMethod · 0.45
WriteTypeInfoMethod · 0.45
ErrMethod · 0.45

Tested by

no test coverage detected