(ctx *WriteContext, field *FieldInfo, fieldValue reflect.Value)
| 818 | } |
| 819 | |
| 820 | func 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 | |
| 836 | func loadFieldValue[T any](kind FieldKind, fieldPtr unsafe.Pointer, opt optionalInfo) (T, bool) { |
| 837 | var zero T |
no test coverage detected