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

Function writeWithCachedTypeInfo

go/fory/struct.go:820–834  ·  view source on GitHub ↗
(ctx *WriteContext, field *FieldInfo, fieldValue reflect.Value)

Source from the content-addressed store, hash-verified

818}
819
820func writeWithCachedTypeInfo(ctx *WriteContext, field *FieldInfo, fieldValue reflect.Value) bool {
821 if field.Serializer == nil || !field.Meta.WriteType || field.Meta.CachedTypeInfo == nil {
822 return false
823 }
824 switch ser := field.Serializer.(type) {
825 case *structSerializer:
826 ser.writeWithTypeInfo(ctx, field.RefMode, fieldValue, field.Meta.CachedTypeInfo)
827 return true
828 case *ptrToValueSerializer:
829 ser.writeWithTypeInfo(ctx, field.RefMode, fieldValue, field.Meta.CachedTypeInfo)
830 return true
831 default:
832 return false
833 }
834}
835
836func loadFieldValue[T any](kind FieldKind, fieldPtr unsafe.Pointer, opt optionalInfo) (T, bool) {
837 var zero T

Callers 1

writeRemainingFieldMethod · 0.85

Calls 1

writeWithTypeInfoMethod · 0.45

Tested by

no test coverage detected