()
| 990 | } |
| 991 | |
| 992 | func (field *Field) setupNewValuePool() { |
| 993 | if field.Serializer != nil { |
| 994 | serializerValue := reflect.Indirect(reflect.ValueOf(field.Serializer)) |
| 995 | serializerType := serializerValue.Type() |
| 996 | field.NewValuePool = &sync.Pool{ |
| 997 | New: func() interface{} { |
| 998 | si := reflect.New(serializerType) |
| 999 | si.Elem().Set(serializerValue) |
| 1000 | return &serializer{ |
| 1001 | Field: field, |
| 1002 | Serializer: si.Interface().(SerializerInterface), |
| 1003 | } |
| 1004 | }, |
| 1005 | } |
| 1006 | } |
| 1007 | |
| 1008 | if field.NewValuePool == nil { |
| 1009 | field.NewValuePool = poolInitializer(reflect.PointerTo(field.IndirectFieldType)) |
| 1010 | } |
| 1011 | } |
no test coverage detected