(src any, wrser *Serializer)
| 956 | } |
| 957 | |
| 958 | func (enc *Encoder) EncodeRaw(src any, wrser *Serializer) error { |
| 959 | |
| 960 | v := reflect.ValueOf(src) |
| 961 | enc.state.lock.Lock() |
| 962 | defer enc.state.lock.Unlock() |
| 963 | enc.tmUpdated = false |
| 964 | |
| 965 | enc.tagsMatcher = &enc.state.tagsMatcher |
| 966 | err := enc.encodeValue(v, wrser, mkFieldInfo(v, 0, reflect.StructField{}), &enc.state.ctagsWCache) |
| 967 | if err != nil { |
| 968 | return err |
| 969 | } |
| 970 | if enc.tmUpdated { |
| 971 | enc.state.tagsMatcher = *enc.tagsMatcher |
| 972 | } |
| 973 | return nil |
| 974 | } |