(v reflect.Value)
| 186 | } |
| 187 | |
| 188 | func (d *Decoder) interfaceValue(v reflect.Value) error { |
| 189 | vv, err := d.decodeInterfaceCond() |
| 190 | if err != nil { |
| 191 | return err |
| 192 | } |
| 193 | |
| 194 | if vv != nil { |
| 195 | if v.Type() == errorType { |
| 196 | if vv, ok := vv.(string); ok { |
| 197 | v.Set(reflect.ValueOf(errors.New(vv))) |
| 198 | return nil |
| 199 | } |
| 200 | } |
| 201 | |
| 202 | v.Set(reflect.ValueOf(vv)) |
| 203 | } |
| 204 | |
| 205 | return nil |
| 206 | } |
| 207 | |
| 208 | func decodeUnsupportedValue(d *Decoder, v reflect.Value) error { |
| 209 | return fmt.Errorf("msgpack: Decode(unsupported %s)", v.Type()) |
no test coverage detected