============================================================================ ptrToInterfaceSerializer - pointer to interface type ============================================================================
(ctx *WriteContext, value reflect.Value)
| 216 | // ============================================================================ |
| 217 | |
| 218 | func (s *ptrToInterfaceSerializer) WriteData(ctx *WriteContext, value reflect.Value) { |
| 219 | // Get the concrete element that the interface pointer points to |
| 220 | elemValue := value.Elem() |
| 221 | |
| 222 | // Use WriteValue to handle the polymorphic interface value with ref tracking and type info |
| 223 | ctx.WriteValue(elemValue, RefModeTracking, true) |
| 224 | } |
| 225 | |
| 226 | func (s *ptrToInterfaceSerializer) Write(ctx *WriteContext, refMode RefMode, writeType bool, hasGenerics bool, value reflect.Value) { |
| 227 | switch refMode { |