(t reflect.Type, seen encodeFuncCache)
| 136 | } |
| 137 | |
| 138 | func encodeFuncSliceOf(t reflect.Type, seen encodeFuncCache) encodeFunc { |
| 139 | elem := t.Elem() |
| 140 | typ := TypeOf(elem) |
| 141 | enc := encodeFuncOf(elem, seen) |
| 142 | |
| 143 | return func(w Writer, v reflect.Value, flags flags) error { |
| 144 | n := v.Len() |
| 145 | if n > math.MaxInt32 { |
| 146 | return fmt.Errorf("slice length is too large to be represented in thrift: %d > max(int32)", n) |
| 147 | } |
| 148 | |
| 149 | err := w.WriteList(List{ |
| 150 | Size: int32(n), |
| 151 | Type: typ, |
| 152 | }) |
| 153 | if err != nil { |
| 154 | return err |
| 155 | } |
| 156 | |
| 157 | for i := range n { |
| 158 | if err := enc(w, v.Index(i), flags); err != nil { |
| 159 | return err |
| 160 | } |
| 161 | } |
| 162 | |
| 163 | return nil |
| 164 | } |
| 165 | } |
| 166 | |
| 167 | func encodeFuncMapOf(t reflect.Type, seen encodeFuncCache) encodeFunc { |
| 168 | key, elem := t.Key(), t.Elem() |
no test coverage detected
searching dependent graphs…