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

Method Write

go/fory/enum.go:46–60  ·  view source on GitHub ↗
(ctx *WriteContext, refMode RefMode, writeType bool, hasGenerics bool, value reflect.Value)

Source from the content-addressed store, hash-verified

44}
45
46func (s *enumSerializer) Write(ctx *WriteContext, refMode RefMode, writeType bool, hasGenerics bool, value reflect.Value) {
47 if refMode != RefModeNone {
48 ctx.buffer.WriteInt8(NotNullValueFlag)
49 }
50 if writeType {
51 // For NAMED_ENUM, need to write type info including namespace and typename meta strings
52 typeInfo, err := ctx.TypeResolver().getTypeInfo(value, true)
53 if err != nil {
54 ctx.SetError(FromError(err))
55 return
56 }
57 ctx.TypeResolver().WriteTypeInfo(ctx.buffer, typeInfo, ctx.Err())
58 }
59 s.WriteData(ctx, value)
60}
61
62func (s *enumSerializer) ReadData(ctx *ReadContext, value reflect.Value) {
63 err := ctx.Err()

Callers

nothing calls this directly

Calls 8

WriteDataMethod · 0.95
FromErrorFunction · 0.85
WriteInt8Method · 0.45
getTypeInfoMethod · 0.45
TypeResolverMethod · 0.45
SetErrorMethod · 0.45
WriteTypeInfoMethod · 0.45
ErrMethod · 0.45

Tested by

no test coverage detected