mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 12:52:25 -05:00 
			
		
		
		
	- github.com/KimMachineGun/automemlimit v0.7.2 => v0.7.3
- github.com/gin-contrib/cors v1.7.5 => v1.7.6
- github.com/minio/minio-go/v7 v7.0.92 => v7.0.94
- github.com/spf13/cast v1.8.0 => v1.9.2
- github.com/uptrace/bun{,/*} v1.2.11 => v1.2.14
- golang.org/x/image v0.27.0 => v0.28.0
- golang.org/x/net v0.40.0 => v0.41.0
- code.superseriousbusiness.org/go-swagger v0.31.0-gts-go1.23-fix => v0.32.3-gts-go1.23-fix
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4304
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
		
	
			
		
			
				
	
	
		
			12482 lines
		
	
	
	
		
			320 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			12482 lines
		
	
	
	
		
			320 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| //go:build !notmono && !codec.notmono  && !notfastpath && !codec.notfastpath
 | |
| 
 | |
| // Copyright (c) 2012-2020 Ugorji Nwoke. All rights reserved.
 | |
| // Use of this source code is governed by a MIT license found in the LICENSE file.
 | |
| 
 | |
| package codec
 | |
| 
 | |
| import (
 | |
| 	"reflect"
 | |
| 	"slices"
 | |
| 	"sort"
 | |
| )
 | |
| 
 | |
| type fastpathEMsgpackBytes struct {
 | |
| 	rtid  uintptr
 | |
| 	rt    reflect.Type
 | |
| 	encfn func(*encoderMsgpackBytes, *encFnInfo, reflect.Value)
 | |
| }
 | |
| type fastpathDMsgpackBytes struct {
 | |
| 	rtid  uintptr
 | |
| 	rt    reflect.Type
 | |
| 	decfn func(*decoderMsgpackBytes, *decFnInfo, reflect.Value)
 | |
| }
 | |
| type fastpathEsMsgpackBytes [56]fastpathEMsgpackBytes
 | |
| type fastpathDsMsgpackBytes [56]fastpathDMsgpackBytes
 | |
| type fastpathETMsgpackBytes struct{}
 | |
| type fastpathDTMsgpackBytes struct{}
 | |
| 
 | |
| func (helperEncDriverMsgpackBytes) fastpathEList() *fastpathEsMsgpackBytes {
 | |
| 	var i uint = 0
 | |
| 	var s fastpathEsMsgpackBytes
 | |
| 	fn := func(v interface{}, fe func(*encoderMsgpackBytes, *encFnInfo, reflect.Value)) {
 | |
| 		xrt := reflect.TypeOf(v)
 | |
| 		s[i] = fastpathEMsgpackBytes{rt2id(xrt), xrt, fe}
 | |
| 		i++
 | |
| 	}
 | |
| 
 | |
| 	fn([]interface{}(nil), (*encoderMsgpackBytes).fastpathEncSliceIntfR)
 | |
| 	fn([]string(nil), (*encoderMsgpackBytes).fastpathEncSliceStringR)
 | |
| 	fn([][]byte(nil), (*encoderMsgpackBytes).fastpathEncSliceBytesR)
 | |
| 	fn([]float32(nil), (*encoderMsgpackBytes).fastpathEncSliceFloat32R)
 | |
| 	fn([]float64(nil), (*encoderMsgpackBytes).fastpathEncSliceFloat64R)
 | |
| 	fn([]uint8(nil), (*encoderMsgpackBytes).fastpathEncSliceUint8R)
 | |
| 	fn([]uint64(nil), (*encoderMsgpackBytes).fastpathEncSliceUint64R)
 | |
| 	fn([]int(nil), (*encoderMsgpackBytes).fastpathEncSliceIntR)
 | |
| 	fn([]int32(nil), (*encoderMsgpackBytes).fastpathEncSliceInt32R)
 | |
| 	fn([]int64(nil), (*encoderMsgpackBytes).fastpathEncSliceInt64R)
 | |
| 	fn([]bool(nil), (*encoderMsgpackBytes).fastpathEncSliceBoolR)
 | |
| 
 | |
| 	fn(map[string]interface{}(nil), (*encoderMsgpackBytes).fastpathEncMapStringIntfR)
 | |
| 	fn(map[string]string(nil), (*encoderMsgpackBytes).fastpathEncMapStringStringR)
 | |
| 	fn(map[string][]byte(nil), (*encoderMsgpackBytes).fastpathEncMapStringBytesR)
 | |
| 	fn(map[string]uint8(nil), (*encoderMsgpackBytes).fastpathEncMapStringUint8R)
 | |
| 	fn(map[string]uint64(nil), (*encoderMsgpackBytes).fastpathEncMapStringUint64R)
 | |
| 	fn(map[string]int(nil), (*encoderMsgpackBytes).fastpathEncMapStringIntR)
 | |
| 	fn(map[string]int32(nil), (*encoderMsgpackBytes).fastpathEncMapStringInt32R)
 | |
| 	fn(map[string]float64(nil), (*encoderMsgpackBytes).fastpathEncMapStringFloat64R)
 | |
| 	fn(map[string]bool(nil), (*encoderMsgpackBytes).fastpathEncMapStringBoolR)
 | |
| 	fn(map[uint8]interface{}(nil), (*encoderMsgpackBytes).fastpathEncMapUint8IntfR)
 | |
| 	fn(map[uint8]string(nil), (*encoderMsgpackBytes).fastpathEncMapUint8StringR)
 | |
| 	fn(map[uint8][]byte(nil), (*encoderMsgpackBytes).fastpathEncMapUint8BytesR)
 | |
| 	fn(map[uint8]uint8(nil), (*encoderMsgpackBytes).fastpathEncMapUint8Uint8R)
 | |
| 	fn(map[uint8]uint64(nil), (*encoderMsgpackBytes).fastpathEncMapUint8Uint64R)
 | |
| 	fn(map[uint8]int(nil), (*encoderMsgpackBytes).fastpathEncMapUint8IntR)
 | |
| 	fn(map[uint8]int32(nil), (*encoderMsgpackBytes).fastpathEncMapUint8Int32R)
 | |
| 	fn(map[uint8]float64(nil), (*encoderMsgpackBytes).fastpathEncMapUint8Float64R)
 | |
| 	fn(map[uint8]bool(nil), (*encoderMsgpackBytes).fastpathEncMapUint8BoolR)
 | |
| 	fn(map[uint64]interface{}(nil), (*encoderMsgpackBytes).fastpathEncMapUint64IntfR)
 | |
| 	fn(map[uint64]string(nil), (*encoderMsgpackBytes).fastpathEncMapUint64StringR)
 | |
| 	fn(map[uint64][]byte(nil), (*encoderMsgpackBytes).fastpathEncMapUint64BytesR)
 | |
| 	fn(map[uint64]uint8(nil), (*encoderMsgpackBytes).fastpathEncMapUint64Uint8R)
 | |
| 	fn(map[uint64]uint64(nil), (*encoderMsgpackBytes).fastpathEncMapUint64Uint64R)
 | |
| 	fn(map[uint64]int(nil), (*encoderMsgpackBytes).fastpathEncMapUint64IntR)
 | |
| 	fn(map[uint64]int32(nil), (*encoderMsgpackBytes).fastpathEncMapUint64Int32R)
 | |
| 	fn(map[uint64]float64(nil), (*encoderMsgpackBytes).fastpathEncMapUint64Float64R)
 | |
| 	fn(map[uint64]bool(nil), (*encoderMsgpackBytes).fastpathEncMapUint64BoolR)
 | |
| 	fn(map[int]interface{}(nil), (*encoderMsgpackBytes).fastpathEncMapIntIntfR)
 | |
| 	fn(map[int]string(nil), (*encoderMsgpackBytes).fastpathEncMapIntStringR)
 | |
| 	fn(map[int][]byte(nil), (*encoderMsgpackBytes).fastpathEncMapIntBytesR)
 | |
| 	fn(map[int]uint8(nil), (*encoderMsgpackBytes).fastpathEncMapIntUint8R)
 | |
| 	fn(map[int]uint64(nil), (*encoderMsgpackBytes).fastpathEncMapIntUint64R)
 | |
| 	fn(map[int]int(nil), (*encoderMsgpackBytes).fastpathEncMapIntIntR)
 | |
| 	fn(map[int]int32(nil), (*encoderMsgpackBytes).fastpathEncMapIntInt32R)
 | |
| 	fn(map[int]float64(nil), (*encoderMsgpackBytes).fastpathEncMapIntFloat64R)
 | |
| 	fn(map[int]bool(nil), (*encoderMsgpackBytes).fastpathEncMapIntBoolR)
 | |
| 	fn(map[int32]interface{}(nil), (*encoderMsgpackBytes).fastpathEncMapInt32IntfR)
 | |
| 	fn(map[int32]string(nil), (*encoderMsgpackBytes).fastpathEncMapInt32StringR)
 | |
| 	fn(map[int32][]byte(nil), (*encoderMsgpackBytes).fastpathEncMapInt32BytesR)
 | |
| 	fn(map[int32]uint8(nil), (*encoderMsgpackBytes).fastpathEncMapInt32Uint8R)
 | |
| 	fn(map[int32]uint64(nil), (*encoderMsgpackBytes).fastpathEncMapInt32Uint64R)
 | |
| 	fn(map[int32]int(nil), (*encoderMsgpackBytes).fastpathEncMapInt32IntR)
 | |
| 	fn(map[int32]int32(nil), (*encoderMsgpackBytes).fastpathEncMapInt32Int32R)
 | |
| 	fn(map[int32]float64(nil), (*encoderMsgpackBytes).fastpathEncMapInt32Float64R)
 | |
| 	fn(map[int32]bool(nil), (*encoderMsgpackBytes).fastpathEncMapInt32BoolR)
 | |
| 
 | |
| 	sort.Slice(s[:], func(i, j int) bool { return s[i].rtid < s[j].rtid })
 | |
| 	return &s
 | |
| }
 | |
| 
 | |
| func (helperDecDriverMsgpackBytes) fastpathDList() *fastpathDsMsgpackBytes {
 | |
| 	var i uint = 0
 | |
| 	var s fastpathDsMsgpackBytes
 | |
| 	fn := func(v interface{}, fd func(*decoderMsgpackBytes, *decFnInfo, reflect.Value)) {
 | |
| 		xrt := reflect.TypeOf(v)
 | |
| 		s[i] = fastpathDMsgpackBytes{rt2id(xrt), xrt, fd}
 | |
| 		i++
 | |
| 	}
 | |
| 
 | |
| 	fn([]interface{}(nil), (*decoderMsgpackBytes).fastpathDecSliceIntfR)
 | |
| 	fn([]string(nil), (*decoderMsgpackBytes).fastpathDecSliceStringR)
 | |
| 	fn([][]byte(nil), (*decoderMsgpackBytes).fastpathDecSliceBytesR)
 | |
| 	fn([]float32(nil), (*decoderMsgpackBytes).fastpathDecSliceFloat32R)
 | |
| 	fn([]float64(nil), (*decoderMsgpackBytes).fastpathDecSliceFloat64R)
 | |
| 	fn([]uint8(nil), (*decoderMsgpackBytes).fastpathDecSliceUint8R)
 | |
| 	fn([]uint64(nil), (*decoderMsgpackBytes).fastpathDecSliceUint64R)
 | |
| 	fn([]int(nil), (*decoderMsgpackBytes).fastpathDecSliceIntR)
 | |
| 	fn([]int32(nil), (*decoderMsgpackBytes).fastpathDecSliceInt32R)
 | |
| 	fn([]int64(nil), (*decoderMsgpackBytes).fastpathDecSliceInt64R)
 | |
| 	fn([]bool(nil), (*decoderMsgpackBytes).fastpathDecSliceBoolR)
 | |
| 
 | |
| 	fn(map[string]interface{}(nil), (*decoderMsgpackBytes).fastpathDecMapStringIntfR)
 | |
| 	fn(map[string]string(nil), (*decoderMsgpackBytes).fastpathDecMapStringStringR)
 | |
| 	fn(map[string][]byte(nil), (*decoderMsgpackBytes).fastpathDecMapStringBytesR)
 | |
| 	fn(map[string]uint8(nil), (*decoderMsgpackBytes).fastpathDecMapStringUint8R)
 | |
| 	fn(map[string]uint64(nil), (*decoderMsgpackBytes).fastpathDecMapStringUint64R)
 | |
| 	fn(map[string]int(nil), (*decoderMsgpackBytes).fastpathDecMapStringIntR)
 | |
| 	fn(map[string]int32(nil), (*decoderMsgpackBytes).fastpathDecMapStringInt32R)
 | |
| 	fn(map[string]float64(nil), (*decoderMsgpackBytes).fastpathDecMapStringFloat64R)
 | |
| 	fn(map[string]bool(nil), (*decoderMsgpackBytes).fastpathDecMapStringBoolR)
 | |
| 	fn(map[uint8]interface{}(nil), (*decoderMsgpackBytes).fastpathDecMapUint8IntfR)
 | |
| 	fn(map[uint8]string(nil), (*decoderMsgpackBytes).fastpathDecMapUint8StringR)
 | |
| 	fn(map[uint8][]byte(nil), (*decoderMsgpackBytes).fastpathDecMapUint8BytesR)
 | |
| 	fn(map[uint8]uint8(nil), (*decoderMsgpackBytes).fastpathDecMapUint8Uint8R)
 | |
| 	fn(map[uint8]uint64(nil), (*decoderMsgpackBytes).fastpathDecMapUint8Uint64R)
 | |
| 	fn(map[uint8]int(nil), (*decoderMsgpackBytes).fastpathDecMapUint8IntR)
 | |
| 	fn(map[uint8]int32(nil), (*decoderMsgpackBytes).fastpathDecMapUint8Int32R)
 | |
| 	fn(map[uint8]float64(nil), (*decoderMsgpackBytes).fastpathDecMapUint8Float64R)
 | |
| 	fn(map[uint8]bool(nil), (*decoderMsgpackBytes).fastpathDecMapUint8BoolR)
 | |
| 	fn(map[uint64]interface{}(nil), (*decoderMsgpackBytes).fastpathDecMapUint64IntfR)
 | |
| 	fn(map[uint64]string(nil), (*decoderMsgpackBytes).fastpathDecMapUint64StringR)
 | |
| 	fn(map[uint64][]byte(nil), (*decoderMsgpackBytes).fastpathDecMapUint64BytesR)
 | |
| 	fn(map[uint64]uint8(nil), (*decoderMsgpackBytes).fastpathDecMapUint64Uint8R)
 | |
| 	fn(map[uint64]uint64(nil), (*decoderMsgpackBytes).fastpathDecMapUint64Uint64R)
 | |
| 	fn(map[uint64]int(nil), (*decoderMsgpackBytes).fastpathDecMapUint64IntR)
 | |
| 	fn(map[uint64]int32(nil), (*decoderMsgpackBytes).fastpathDecMapUint64Int32R)
 | |
| 	fn(map[uint64]float64(nil), (*decoderMsgpackBytes).fastpathDecMapUint64Float64R)
 | |
| 	fn(map[uint64]bool(nil), (*decoderMsgpackBytes).fastpathDecMapUint64BoolR)
 | |
| 	fn(map[int]interface{}(nil), (*decoderMsgpackBytes).fastpathDecMapIntIntfR)
 | |
| 	fn(map[int]string(nil), (*decoderMsgpackBytes).fastpathDecMapIntStringR)
 | |
| 	fn(map[int][]byte(nil), (*decoderMsgpackBytes).fastpathDecMapIntBytesR)
 | |
| 	fn(map[int]uint8(nil), (*decoderMsgpackBytes).fastpathDecMapIntUint8R)
 | |
| 	fn(map[int]uint64(nil), (*decoderMsgpackBytes).fastpathDecMapIntUint64R)
 | |
| 	fn(map[int]int(nil), (*decoderMsgpackBytes).fastpathDecMapIntIntR)
 | |
| 	fn(map[int]int32(nil), (*decoderMsgpackBytes).fastpathDecMapIntInt32R)
 | |
| 	fn(map[int]float64(nil), (*decoderMsgpackBytes).fastpathDecMapIntFloat64R)
 | |
| 	fn(map[int]bool(nil), (*decoderMsgpackBytes).fastpathDecMapIntBoolR)
 | |
| 	fn(map[int32]interface{}(nil), (*decoderMsgpackBytes).fastpathDecMapInt32IntfR)
 | |
| 	fn(map[int32]string(nil), (*decoderMsgpackBytes).fastpathDecMapInt32StringR)
 | |
| 	fn(map[int32][]byte(nil), (*decoderMsgpackBytes).fastpathDecMapInt32BytesR)
 | |
| 	fn(map[int32]uint8(nil), (*decoderMsgpackBytes).fastpathDecMapInt32Uint8R)
 | |
| 	fn(map[int32]uint64(nil), (*decoderMsgpackBytes).fastpathDecMapInt32Uint64R)
 | |
| 	fn(map[int32]int(nil), (*decoderMsgpackBytes).fastpathDecMapInt32IntR)
 | |
| 	fn(map[int32]int32(nil), (*decoderMsgpackBytes).fastpathDecMapInt32Int32R)
 | |
| 	fn(map[int32]float64(nil), (*decoderMsgpackBytes).fastpathDecMapInt32Float64R)
 | |
| 	fn(map[int32]bool(nil), (*decoderMsgpackBytes).fastpathDecMapInt32BoolR)
 | |
| 
 | |
| 	sort.Slice(s[:], func(i, j int) bool { return s[i].rtid < s[j].rtid })
 | |
| 	return &s
 | |
| }
 | |
| 
 | |
| func (helperEncDriverMsgpackBytes) fastpathEncodeTypeSwitch(iv interface{}, e *encoderMsgpackBytes) bool {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	switch v := iv.(type) {
 | |
| 	case []interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceIntfV(v, e)
 | |
| 		}
 | |
| 	case []string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceStringV(v, e)
 | |
| 		}
 | |
| 	case [][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceBytesV(v, e)
 | |
| 		}
 | |
| 	case []float32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceFloat32V(v, e)
 | |
| 		}
 | |
| 	case []float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceFloat64V(v, e)
 | |
| 		}
 | |
| 	case []uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceUint8V(v, e)
 | |
| 		}
 | |
| 	case []uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceUint64V(v, e)
 | |
| 		}
 | |
| 	case []int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceIntV(v, e)
 | |
| 		}
 | |
| 	case []int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceInt32V(v, e)
 | |
| 		}
 | |
| 	case []int64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceInt64V(v, e)
 | |
| 		}
 | |
| 	case []bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceBoolV(v, e)
 | |
| 		}
 | |
| 	case map[string]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringIntfV(v, e)
 | |
| 		}
 | |
| 	case map[string]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringStringV(v, e)
 | |
| 		}
 | |
| 	case map[string][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringBytesV(v, e)
 | |
| 		}
 | |
| 	case map[string]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringUint8V(v, e)
 | |
| 		}
 | |
| 	case map[string]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringUint64V(v, e)
 | |
| 		}
 | |
| 	case map[string]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringIntV(v, e)
 | |
| 		}
 | |
| 	case map[string]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringInt32V(v, e)
 | |
| 		}
 | |
| 	case map[string]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringFloat64V(v, e)
 | |
| 		}
 | |
| 	case map[string]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringBoolV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8IntfV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8StringV(v, e)
 | |
| 		}
 | |
| 	case map[uint8][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8BytesV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Uint8V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Uint64V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8IntV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Int32V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Float64V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8BoolV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64IntfV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64StringV(v, e)
 | |
| 		}
 | |
| 	case map[uint64][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64BytesV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Uint8V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Uint64V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64IntV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Int32V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Float64V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64BoolV(v, e)
 | |
| 		}
 | |
| 	case map[int]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntIntfV(v, e)
 | |
| 		}
 | |
| 	case map[int]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntStringV(v, e)
 | |
| 		}
 | |
| 	case map[int][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntBytesV(v, e)
 | |
| 		}
 | |
| 	case map[int]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntUint8V(v, e)
 | |
| 		}
 | |
| 	case map[int]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntUint64V(v, e)
 | |
| 		}
 | |
| 	case map[int]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntIntV(v, e)
 | |
| 		}
 | |
| 	case map[int]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntInt32V(v, e)
 | |
| 		}
 | |
| 	case map[int]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntFloat64V(v, e)
 | |
| 		}
 | |
| 	case map[int]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntBoolV(v, e)
 | |
| 		}
 | |
| 	case map[int32]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32IntfV(v, e)
 | |
| 		}
 | |
| 	case map[int32]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32StringV(v, e)
 | |
| 		}
 | |
| 	case map[int32][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32BytesV(v, e)
 | |
| 		}
 | |
| 	case map[int32]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Uint8V(v, e)
 | |
| 		}
 | |
| 	case map[int32]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Uint64V(v, e)
 | |
| 		}
 | |
| 	case map[int32]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32IntV(v, e)
 | |
| 		}
 | |
| 	case map[int32]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Int32V(v, e)
 | |
| 		}
 | |
| 	case map[int32]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Float64V(v, e)
 | |
| 		}
 | |
| 	case map[int32]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32BoolV(v, e)
 | |
| 		}
 | |
| 	default:
 | |
| 		_ = v
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceIntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []interface{}
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]interface{})
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceIntfV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceIntfV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceIntfV(v []interface{}, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		if !e.encodeBuiltin(v[j]) {
 | |
| 			e.encodeR(reflect.ValueOf(v[j]))
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceIntfV(v []interface{}, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		if !e.encodeBuiltin(v[j]) {
 | |
| 			e.encodeR(reflect.ValueOf(v[j]))
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceStringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []string
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]string)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceStringV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceStringV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceStringV(v []string, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeString(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceStringV(v []string, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeString(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceBytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v [][]byte
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([][]byte)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceBytesV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceBytesV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceBytesV(v [][]byte, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeBytes(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceBytesV(v [][]byte, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeBytes(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceFloat32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []float32
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]float32)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceFloat32V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceFloat32V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceFloat32V(v []float32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeFloat32(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceFloat32V(v []float32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeFloat32(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceFloat64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []float64
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]float64)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceFloat64V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceFloat64V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceFloat64V(v []float64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeFloat64(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceFloat64V(v []float64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeFloat64(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceUint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []uint8
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]uint8)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceUint8V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceUint8V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceUint8V(v []uint8, e *encoderMsgpackBytes) {
 | |
| 	e.e.EncodeStringBytesRaw(v)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceUint8V(v []uint8, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeUint(uint64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceUint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []uint64
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]uint64)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceUint64V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceUint64V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceUint64V(v []uint64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeUint(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceUint64V(v []uint64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeUint(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceIntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []int
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]int)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceIntV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceIntV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceIntV(v []int, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceIntV(v []int, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceInt32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []int32
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]int32)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceInt32V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceInt32V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceInt32V(v []int32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceInt32V(v []int32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceInt64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []int64
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]int64)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceInt64V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceInt64V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceInt64V(v []int64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeInt(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceInt64V(v []int64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeInt(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncSliceBoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackBytes
 | |
| 	var v []bool
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]bool)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceBoolV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceBoolV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncSliceBoolV(v []bool, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeBool(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncAsMapSliceBoolV(v []bool, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeBool(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringIntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringIntfV(rv2i(rv).(map[string]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringIntfV(v map[string]interface{}, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringStringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringStringV(rv2i(rv).(map[string]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringStringV(v map[string]string, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringBytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringBytesV(rv2i(rv).(map[string][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringBytesV(v map[string][]byte, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringUint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringUint8V(rv2i(rv).(map[string]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringUint8V(v map[string]uint8, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringUint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringUint64V(rv2i(rv).(map[string]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringUint64V(v map[string]uint64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringIntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringIntV(rv2i(rv).(map[string]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringIntV(v map[string]int, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringInt32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringInt32V(rv2i(rv).(map[string]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringInt32V(v map[string]int32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringFloat64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringFloat64V(rv2i(rv).(map[string]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringFloat64V(v map[string]float64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapStringBoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapStringBoolV(rv2i(rv).(map[string]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapStringBoolV(v map[string]bool, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8IntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8IntfV(rv2i(rv).(map[uint8]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8IntfV(v map[uint8]interface{}, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8StringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8StringV(rv2i(rv).(map[uint8]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8StringV(v map[uint8]string, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8BytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8BytesV(rv2i(rv).(map[uint8][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8BytesV(v map[uint8][]byte, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8Uint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8Uint8V(rv2i(rv).(map[uint8]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8Uint8V(v map[uint8]uint8, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8Uint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8Uint64V(rv2i(rv).(map[uint8]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8Uint64V(v map[uint8]uint64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8IntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8IntV(rv2i(rv).(map[uint8]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8IntV(v map[uint8]int, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8Int32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8Int32V(rv2i(rv).(map[uint8]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8Int32V(v map[uint8]int32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8Float64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8Float64V(rv2i(rv).(map[uint8]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8Float64V(v map[uint8]float64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint8BoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint8BoolV(rv2i(rv).(map[uint8]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint8BoolV(v map[uint8]bool, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64IntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64IntfV(rv2i(rv).(map[uint64]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64IntfV(v map[uint64]interface{}, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64StringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64StringV(rv2i(rv).(map[uint64]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64StringV(v map[uint64]string, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64BytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64BytesV(rv2i(rv).(map[uint64][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64BytesV(v map[uint64][]byte, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64Uint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64Uint8V(rv2i(rv).(map[uint64]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64Uint8V(v map[uint64]uint8, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64Uint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64Uint64V(rv2i(rv).(map[uint64]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64Uint64V(v map[uint64]uint64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64IntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64IntV(rv2i(rv).(map[uint64]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64IntV(v map[uint64]int, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64Int32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64Int32V(rv2i(rv).(map[uint64]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64Int32V(v map[uint64]int32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64Float64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64Float64V(rv2i(rv).(map[uint64]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64Float64V(v map[uint64]float64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapUint64BoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapUint64BoolV(rv2i(rv).(map[uint64]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapUint64BoolV(v map[uint64]bool, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntIntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntIntfV(rv2i(rv).(map[int]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntIntfV(v map[int]interface{}, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntStringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntStringV(rv2i(rv).(map[int]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntStringV(v map[int]string, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntBytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntBytesV(rv2i(rv).(map[int][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntBytesV(v map[int][]byte, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntUint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntUint8V(rv2i(rv).(map[int]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntUint8V(v map[int]uint8, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntUint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntUint64V(rv2i(rv).(map[int]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntUint64V(v map[int]uint64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntIntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntIntV(rv2i(rv).(map[int]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntIntV(v map[int]int, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntInt32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntInt32V(rv2i(rv).(map[int]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntInt32V(v map[int]int32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntFloat64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntFloat64V(rv2i(rv).(map[int]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntFloat64V(v map[int]float64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapIntBoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapIntBoolV(rv2i(rv).(map[int]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapIntBoolV(v map[int]bool, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32IntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32IntfV(rv2i(rv).(map[int32]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32IntfV(v map[int32]interface{}, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32StringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32StringV(rv2i(rv).(map[int32]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32StringV(v map[int32]string, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32BytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32BytesV(rv2i(rv).(map[int32][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32BytesV(v map[int32][]byte, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32Uint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32Uint8V(rv2i(rv).(map[int32]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32Uint8V(v map[int32]uint8, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32Uint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32Uint64V(rv2i(rv).(map[int32]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32Uint64V(v map[int32]uint64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32IntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32IntV(rv2i(rv).(map[int32]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32IntV(v map[int32]int, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32Int32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32Int32V(rv2i(rv).(map[int32]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32Int32V(v map[int32]int32, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32Float64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32Float64V(rv2i(rv).(map[int32]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32Float64V(v map[int32]float64, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackBytes) fastpathEncMapInt32BoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackBytes{}.EncMapInt32BoolV(rv2i(rv).(map[int32]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackBytes) EncMapInt32BoolV(v map[int32]bool, e *encoderMsgpackBytes) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (helperDecDriverMsgpackBytes) fastpathDecodeTypeSwitch(iv interface{}, d *decoderMsgpackBytes) bool {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	var changed bool
 | |
| 	var containerLen int
 | |
| 	switch v := iv.(type) {
 | |
| 	case []interface{}:
 | |
| 		ft.DecSliceIntfN(v, d)
 | |
| 	case *[]interface{}:
 | |
| 		var v2 []interface{}
 | |
| 		if v2, changed = ft.DecSliceIntfY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []string:
 | |
| 		ft.DecSliceStringN(v, d)
 | |
| 	case *[]string:
 | |
| 		var v2 []string
 | |
| 		if v2, changed = ft.DecSliceStringY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case [][]byte:
 | |
| 		ft.DecSliceBytesN(v, d)
 | |
| 	case *[][]byte:
 | |
| 		var v2 [][]byte
 | |
| 		if v2, changed = ft.DecSliceBytesY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []float32:
 | |
| 		ft.DecSliceFloat32N(v, d)
 | |
| 	case *[]float32:
 | |
| 		var v2 []float32
 | |
| 		if v2, changed = ft.DecSliceFloat32Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []float64:
 | |
| 		ft.DecSliceFloat64N(v, d)
 | |
| 	case *[]float64:
 | |
| 		var v2 []float64
 | |
| 		if v2, changed = ft.DecSliceFloat64Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []uint8:
 | |
| 		ft.DecSliceUint8N(v, d)
 | |
| 	case *[]uint8:
 | |
| 		var v2 []uint8
 | |
| 		if v2, changed = ft.DecSliceUint8Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []uint64:
 | |
| 		ft.DecSliceUint64N(v, d)
 | |
| 	case *[]uint64:
 | |
| 		var v2 []uint64
 | |
| 		if v2, changed = ft.DecSliceUint64Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []int:
 | |
| 		ft.DecSliceIntN(v, d)
 | |
| 	case *[]int:
 | |
| 		var v2 []int
 | |
| 		if v2, changed = ft.DecSliceIntY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []int32:
 | |
| 		ft.DecSliceInt32N(v, d)
 | |
| 	case *[]int32:
 | |
| 		var v2 []int32
 | |
| 		if v2, changed = ft.DecSliceInt32Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []int64:
 | |
| 		ft.DecSliceInt64N(v, d)
 | |
| 	case *[]int64:
 | |
| 		var v2 []int64
 | |
| 		if v2, changed = ft.DecSliceInt64Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []bool:
 | |
| 		ft.DecSliceBoolN(v, d)
 | |
| 	case *[]bool:
 | |
| 		var v2 []bool
 | |
| 		if v2, changed = ft.DecSliceBoolY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case map[string]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]interface{}, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringStringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]string, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringStringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string][]byte, decInferLen(containerLen, d.maxInitLen(), 40))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]uint8, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]uint64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]int, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringInt32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]int32, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringInt32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringFloat64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]float64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringFloat64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]bool, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]interface{}, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8StringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]string, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8StringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8][]byte, decInferLen(containerLen, d.maxInitLen(), 25))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]uint8, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]uint64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]int, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Int32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]int32, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Int32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Float64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]float64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Float64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]bool, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64StringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64StringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Int32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Int32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Float64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Float64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntStringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntStringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntInt32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntInt32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntFloat64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntFloat64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]interface{}, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32StringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]string, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32StringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32][]byte, decInferLen(containerLen, d.maxInitLen(), 28))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]uint8, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]uint64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]int, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Int32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]int32, decInferLen(containerLen, d.maxInitLen(), 8))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Int32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Float64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]float64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Float64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]bool, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	default:
 | |
| 		_ = v
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceIntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]interface{})
 | |
| 		if vv, changed := ft.DecSliceIntfY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []interface{}
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceIntfN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceIntfN(rv2i(rv).([]interface{}), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceIntfY(v []interface{}, d *decoderMsgpackBytes) (v2 []interface{}, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []interface{}) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 16)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]interface{}, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, nil))
 | |
| 		}
 | |
| 		d.decode(&v[uint(j)])
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]interface{}{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceIntfN(v []interface{}, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			d.decode(&v[uint(j)])
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceStringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]string)
 | |
| 		if vv, changed := ft.DecSliceStringY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []string
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceStringN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceStringN(rv2i(rv).([]string), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceStringY(v []string, d *decoderMsgpackBytes) (v2 []string, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []string) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 16)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]string, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, ""))
 | |
| 		}
 | |
| 		v[uint(j)] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]string{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceStringN(v []string, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceBytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[][]byte)
 | |
| 		if vv, changed := ft.DecSliceBytesY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v [][]byte
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceBytesN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceBytesN(rv2i(rv).([][]byte), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceBytesY(v [][]byte, d *decoderMsgpackBytes) (v2 [][]byte, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst [][]byte) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 24)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([][]byte, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, nil))
 | |
| 		}
 | |
| 		v[uint(j)] = bytesOKdbi(d.decodeBytesInto(v[uint(j)], false))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([][]byte{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceBytesN(v [][]byte, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = bytesOKdbi(d.decodeBytesInto(v[uint(j)], false))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceFloat32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]float32)
 | |
| 		if vv, changed := ft.DecSliceFloat32Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []float32
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceFloat32N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceFloat32N(rv2i(rv).([]float32), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceFloat32Y(v []float32, d *decoderMsgpackBytes) (v2 []float32, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []float32) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 4)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]float32, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = float32(d.d.DecodeFloat32())
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]float32{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceFloat32N(v []float32, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = float32(d.d.DecodeFloat32())
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceFloat64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]float64)
 | |
| 		if vv, changed := ft.DecSliceFloat64Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []float64
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceFloat64N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceFloat64N(rv2i(rv).([]float64), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceFloat64Y(v []float64, d *decoderMsgpackBytes) (v2 []float64, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []float64) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]float64, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]float64{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceFloat64N(v []float64, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeFloat64()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceUint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]uint8)
 | |
| 		if vv, changed := ft.DecSliceUint8Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []uint8
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceUint8N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceUint8N(rv2i(rv).([]uint8), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceUint8Y(v []uint8, d *decoderMsgpackBytes) (v2 []uint8, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	if ctyp != valueTypeMap {
 | |
| 		var dbi dBytesIntoState
 | |
| 		v2, dbi = d.decodeBytesInto(v[:len(v):len(v)], false)
 | |
| 		return v2, dbi != dBytesIntoParamOut
 | |
| 	}
 | |
| 	containerLenS := d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []uint8) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 1)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]uint8, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]uint8{})
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceUint8N(v []uint8, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	if ctyp != valueTypeMap {
 | |
| 		d.decodeBytesInto(v[:len(v):len(v)], true)
 | |
| 		return
 | |
| 	}
 | |
| 	containerLenS := d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceUint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]uint64)
 | |
| 		if vv, changed := ft.DecSliceUint64Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []uint64
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceUint64N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceUint64N(rv2i(rv).([]uint64), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceUint64Y(v []uint64, d *decoderMsgpackBytes) (v2 []uint64, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []uint64) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]uint64, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeUint64()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]uint64{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceUint64N(v []uint64, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeUint64()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceIntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]int)
 | |
| 		if vv, changed := ft.DecSliceIntY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []int
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceIntN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceIntN(rv2i(rv).([]int), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceIntY(v []int, d *decoderMsgpackBytes) (v2 []int, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []int) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]int, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]int{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceIntN(v []int, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceInt32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]int32)
 | |
| 		if vv, changed := ft.DecSliceInt32Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []int32
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceInt32N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceInt32N(rv2i(rv).([]int32), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceInt32Y(v []int32, d *decoderMsgpackBytes) (v2 []int32, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []int32) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 4)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]int32, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]int32{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceInt32N(v []int32, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceInt64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]int64)
 | |
| 		if vv, changed := ft.DecSliceInt64Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []int64
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceInt64N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceInt64N(rv2i(rv).([]int64), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceInt64Y(v []int64, d *decoderMsgpackBytes) (v2 []int64, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []int64) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]int64, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeInt64()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]int64{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceInt64N(v []int64, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeInt64()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackBytes) fastpathDecSliceBoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]bool)
 | |
| 		if vv, changed := ft.DecSliceBoolY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []bool
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceBoolN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceBoolN(rv2i(rv).([]bool), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceBoolY(v []bool, d *decoderMsgpackBytes) (v2 []bool, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []bool) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 1)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]bool, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, false))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeBool()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]bool{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecSliceBoolN(v []bool, d *decoderMsgpackBytes) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeBool()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringIntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]interface{}, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringIntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringIntfL(rv2i(rv).(map[string]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringIntfL(v map[string]interface{}, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringStringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]string, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringStringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringStringL(rv2i(rv).(map[string]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringStringL(v map[string]string, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringBytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string][]byte, decInferLen(containerLen, d.maxInitLen(), 40))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringBytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringBytesL(rv2i(rv).(map[string][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringBytesL(v map[string][]byte, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringUint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]uint8, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringUint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringUint8L(rv2i(rv).(map[string]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringUint8L(v map[string]uint8, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringUint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]uint64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringUint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringUint64L(rv2i(rv).(map[string]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringUint64L(v map[string]uint64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringIntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]int, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringIntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringIntL(rv2i(rv).(map[string]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringIntL(v map[string]int, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringInt32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]int32, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringInt32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringInt32L(rv2i(rv).(map[string]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringInt32L(v map[string]int32, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringFloat64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]float64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringFloat64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringFloat64L(rv2i(rv).(map[string]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringFloat64L(v map[string]float64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapStringBoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]bool, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringBoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringBoolL(rv2i(rv).(map[string]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapStringBoolL(v map[string]bool, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8IntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]interface{}, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8IntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8IntfL(rv2i(rv).(map[uint8]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8IntfL(v map[uint8]interface{}, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8StringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]string, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8StringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8StringL(rv2i(rv).(map[uint8]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8StringL(v map[uint8]string, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8BytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8][]byte, decInferLen(containerLen, d.maxInitLen(), 25))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8BytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8BytesL(rv2i(rv).(map[uint8][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8BytesL(v map[uint8][]byte, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8Uint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]uint8, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Uint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Uint8L(rv2i(rv).(map[uint8]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8Uint8L(v map[uint8]uint8, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8Uint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]uint64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Uint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Uint64L(rv2i(rv).(map[uint8]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8Uint64L(v map[uint8]uint64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8IntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]int, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8IntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8IntL(rv2i(rv).(map[uint8]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8IntL(v map[uint8]int, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8Int32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]int32, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Int32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Int32L(rv2i(rv).(map[uint8]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8Int32L(v map[uint8]int32, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8Float64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]float64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Float64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Float64L(rv2i(rv).(map[uint8]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8Float64L(v map[uint8]float64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint8BoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]bool, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8BoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8BoolL(rv2i(rv).(map[uint8]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint8BoolL(v map[uint8]bool, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64IntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64IntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64IntfL(rv2i(rv).(map[uint64]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64IntfL(v map[uint64]interface{}, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64StringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64StringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64StringL(rv2i(rv).(map[uint64]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64StringL(v map[uint64]string, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64BytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64BytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64BytesL(rv2i(rv).(map[uint64][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64BytesL(v map[uint64][]byte, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64Uint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Uint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Uint8L(rv2i(rv).(map[uint64]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64Uint8L(v map[uint64]uint8, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64Uint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Uint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Uint64L(rv2i(rv).(map[uint64]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64Uint64L(v map[uint64]uint64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64IntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64IntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64IntL(rv2i(rv).(map[uint64]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64IntL(v map[uint64]int, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64Int32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Int32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Int32L(rv2i(rv).(map[uint64]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64Int32L(v map[uint64]int32, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64Float64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Float64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Float64L(rv2i(rv).(map[uint64]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64Float64L(v map[uint64]float64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapUint64BoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64BoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64BoolL(rv2i(rv).(map[uint64]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapUint64BoolL(v map[uint64]bool, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntIntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntIntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntIntfL(rv2i(rv).(map[int]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntIntfL(v map[int]interface{}, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntStringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntStringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntStringL(rv2i(rv).(map[int]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntStringL(v map[int]string, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntBytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntBytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntBytesL(rv2i(rv).(map[int][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntBytesL(v map[int][]byte, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntUint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntUint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntUint8L(rv2i(rv).(map[int]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntUint8L(v map[int]uint8, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntUint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntUint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntUint64L(rv2i(rv).(map[int]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntUint64L(v map[int]uint64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntIntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntIntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntIntL(rv2i(rv).(map[int]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntIntL(v map[int]int, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntInt32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntInt32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntInt32L(rv2i(rv).(map[int]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntInt32L(v map[int]int32, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntFloat64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntFloat64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntFloat64L(rv2i(rv).(map[int]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntFloat64L(v map[int]float64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapIntBoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntBoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntBoolL(rv2i(rv).(map[int]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapIntBoolL(v map[int]bool, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32IntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]interface{}, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32IntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32IntfL(rv2i(rv).(map[int32]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32IntfL(v map[int32]interface{}, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32StringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]string, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32StringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32StringL(rv2i(rv).(map[int32]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32StringL(v map[int32]string, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32BytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32][]byte, decInferLen(containerLen, d.maxInitLen(), 28))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32BytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32BytesL(rv2i(rv).(map[int32][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32BytesL(v map[int32][]byte, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32Uint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]uint8, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Uint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Uint8L(rv2i(rv).(map[int32]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32Uint8L(v map[int32]uint8, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32Uint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]uint64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Uint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Uint64L(rv2i(rv).(map[int32]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32Uint64L(v map[int32]uint64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32IntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]int, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32IntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32IntL(rv2i(rv).(map[int32]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32IntL(v map[int32]int, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32Int32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]int32, decInferLen(containerLen, d.maxInitLen(), 8))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Int32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Int32L(rv2i(rv).(map[int32]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32Int32L(v map[int32]int32, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32Float64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]float64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Float64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Float64L(rv2i(rv).(map[int32]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32Float64L(v map[int32]float64, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackBytes) fastpathDecMapInt32BoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackBytes
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]bool, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32BoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32BoolL(rv2i(rv).(map[int32]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackBytes) DecMapInt32BoolL(v map[int32]bool, containerLen int, d *decoderMsgpackBytes) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| type fastpathEMsgpackIO struct {
 | |
| 	rtid  uintptr
 | |
| 	rt    reflect.Type
 | |
| 	encfn func(*encoderMsgpackIO, *encFnInfo, reflect.Value)
 | |
| }
 | |
| type fastpathDMsgpackIO struct {
 | |
| 	rtid  uintptr
 | |
| 	rt    reflect.Type
 | |
| 	decfn func(*decoderMsgpackIO, *decFnInfo, reflect.Value)
 | |
| }
 | |
| type fastpathEsMsgpackIO [56]fastpathEMsgpackIO
 | |
| type fastpathDsMsgpackIO [56]fastpathDMsgpackIO
 | |
| type fastpathETMsgpackIO struct{}
 | |
| type fastpathDTMsgpackIO struct{}
 | |
| 
 | |
| func (helperEncDriverMsgpackIO) fastpathEList() *fastpathEsMsgpackIO {
 | |
| 	var i uint = 0
 | |
| 	var s fastpathEsMsgpackIO
 | |
| 	fn := func(v interface{}, fe func(*encoderMsgpackIO, *encFnInfo, reflect.Value)) {
 | |
| 		xrt := reflect.TypeOf(v)
 | |
| 		s[i] = fastpathEMsgpackIO{rt2id(xrt), xrt, fe}
 | |
| 		i++
 | |
| 	}
 | |
| 
 | |
| 	fn([]interface{}(nil), (*encoderMsgpackIO).fastpathEncSliceIntfR)
 | |
| 	fn([]string(nil), (*encoderMsgpackIO).fastpathEncSliceStringR)
 | |
| 	fn([][]byte(nil), (*encoderMsgpackIO).fastpathEncSliceBytesR)
 | |
| 	fn([]float32(nil), (*encoderMsgpackIO).fastpathEncSliceFloat32R)
 | |
| 	fn([]float64(nil), (*encoderMsgpackIO).fastpathEncSliceFloat64R)
 | |
| 	fn([]uint8(nil), (*encoderMsgpackIO).fastpathEncSliceUint8R)
 | |
| 	fn([]uint64(nil), (*encoderMsgpackIO).fastpathEncSliceUint64R)
 | |
| 	fn([]int(nil), (*encoderMsgpackIO).fastpathEncSliceIntR)
 | |
| 	fn([]int32(nil), (*encoderMsgpackIO).fastpathEncSliceInt32R)
 | |
| 	fn([]int64(nil), (*encoderMsgpackIO).fastpathEncSliceInt64R)
 | |
| 	fn([]bool(nil), (*encoderMsgpackIO).fastpathEncSliceBoolR)
 | |
| 
 | |
| 	fn(map[string]interface{}(nil), (*encoderMsgpackIO).fastpathEncMapStringIntfR)
 | |
| 	fn(map[string]string(nil), (*encoderMsgpackIO).fastpathEncMapStringStringR)
 | |
| 	fn(map[string][]byte(nil), (*encoderMsgpackIO).fastpathEncMapStringBytesR)
 | |
| 	fn(map[string]uint8(nil), (*encoderMsgpackIO).fastpathEncMapStringUint8R)
 | |
| 	fn(map[string]uint64(nil), (*encoderMsgpackIO).fastpathEncMapStringUint64R)
 | |
| 	fn(map[string]int(nil), (*encoderMsgpackIO).fastpathEncMapStringIntR)
 | |
| 	fn(map[string]int32(nil), (*encoderMsgpackIO).fastpathEncMapStringInt32R)
 | |
| 	fn(map[string]float64(nil), (*encoderMsgpackIO).fastpathEncMapStringFloat64R)
 | |
| 	fn(map[string]bool(nil), (*encoderMsgpackIO).fastpathEncMapStringBoolR)
 | |
| 	fn(map[uint8]interface{}(nil), (*encoderMsgpackIO).fastpathEncMapUint8IntfR)
 | |
| 	fn(map[uint8]string(nil), (*encoderMsgpackIO).fastpathEncMapUint8StringR)
 | |
| 	fn(map[uint8][]byte(nil), (*encoderMsgpackIO).fastpathEncMapUint8BytesR)
 | |
| 	fn(map[uint8]uint8(nil), (*encoderMsgpackIO).fastpathEncMapUint8Uint8R)
 | |
| 	fn(map[uint8]uint64(nil), (*encoderMsgpackIO).fastpathEncMapUint8Uint64R)
 | |
| 	fn(map[uint8]int(nil), (*encoderMsgpackIO).fastpathEncMapUint8IntR)
 | |
| 	fn(map[uint8]int32(nil), (*encoderMsgpackIO).fastpathEncMapUint8Int32R)
 | |
| 	fn(map[uint8]float64(nil), (*encoderMsgpackIO).fastpathEncMapUint8Float64R)
 | |
| 	fn(map[uint8]bool(nil), (*encoderMsgpackIO).fastpathEncMapUint8BoolR)
 | |
| 	fn(map[uint64]interface{}(nil), (*encoderMsgpackIO).fastpathEncMapUint64IntfR)
 | |
| 	fn(map[uint64]string(nil), (*encoderMsgpackIO).fastpathEncMapUint64StringR)
 | |
| 	fn(map[uint64][]byte(nil), (*encoderMsgpackIO).fastpathEncMapUint64BytesR)
 | |
| 	fn(map[uint64]uint8(nil), (*encoderMsgpackIO).fastpathEncMapUint64Uint8R)
 | |
| 	fn(map[uint64]uint64(nil), (*encoderMsgpackIO).fastpathEncMapUint64Uint64R)
 | |
| 	fn(map[uint64]int(nil), (*encoderMsgpackIO).fastpathEncMapUint64IntR)
 | |
| 	fn(map[uint64]int32(nil), (*encoderMsgpackIO).fastpathEncMapUint64Int32R)
 | |
| 	fn(map[uint64]float64(nil), (*encoderMsgpackIO).fastpathEncMapUint64Float64R)
 | |
| 	fn(map[uint64]bool(nil), (*encoderMsgpackIO).fastpathEncMapUint64BoolR)
 | |
| 	fn(map[int]interface{}(nil), (*encoderMsgpackIO).fastpathEncMapIntIntfR)
 | |
| 	fn(map[int]string(nil), (*encoderMsgpackIO).fastpathEncMapIntStringR)
 | |
| 	fn(map[int][]byte(nil), (*encoderMsgpackIO).fastpathEncMapIntBytesR)
 | |
| 	fn(map[int]uint8(nil), (*encoderMsgpackIO).fastpathEncMapIntUint8R)
 | |
| 	fn(map[int]uint64(nil), (*encoderMsgpackIO).fastpathEncMapIntUint64R)
 | |
| 	fn(map[int]int(nil), (*encoderMsgpackIO).fastpathEncMapIntIntR)
 | |
| 	fn(map[int]int32(nil), (*encoderMsgpackIO).fastpathEncMapIntInt32R)
 | |
| 	fn(map[int]float64(nil), (*encoderMsgpackIO).fastpathEncMapIntFloat64R)
 | |
| 	fn(map[int]bool(nil), (*encoderMsgpackIO).fastpathEncMapIntBoolR)
 | |
| 	fn(map[int32]interface{}(nil), (*encoderMsgpackIO).fastpathEncMapInt32IntfR)
 | |
| 	fn(map[int32]string(nil), (*encoderMsgpackIO).fastpathEncMapInt32StringR)
 | |
| 	fn(map[int32][]byte(nil), (*encoderMsgpackIO).fastpathEncMapInt32BytesR)
 | |
| 	fn(map[int32]uint8(nil), (*encoderMsgpackIO).fastpathEncMapInt32Uint8R)
 | |
| 	fn(map[int32]uint64(nil), (*encoderMsgpackIO).fastpathEncMapInt32Uint64R)
 | |
| 	fn(map[int32]int(nil), (*encoderMsgpackIO).fastpathEncMapInt32IntR)
 | |
| 	fn(map[int32]int32(nil), (*encoderMsgpackIO).fastpathEncMapInt32Int32R)
 | |
| 	fn(map[int32]float64(nil), (*encoderMsgpackIO).fastpathEncMapInt32Float64R)
 | |
| 	fn(map[int32]bool(nil), (*encoderMsgpackIO).fastpathEncMapInt32BoolR)
 | |
| 
 | |
| 	sort.Slice(s[:], func(i, j int) bool { return s[i].rtid < s[j].rtid })
 | |
| 	return &s
 | |
| }
 | |
| 
 | |
| func (helperDecDriverMsgpackIO) fastpathDList() *fastpathDsMsgpackIO {
 | |
| 	var i uint = 0
 | |
| 	var s fastpathDsMsgpackIO
 | |
| 	fn := func(v interface{}, fd func(*decoderMsgpackIO, *decFnInfo, reflect.Value)) {
 | |
| 		xrt := reflect.TypeOf(v)
 | |
| 		s[i] = fastpathDMsgpackIO{rt2id(xrt), xrt, fd}
 | |
| 		i++
 | |
| 	}
 | |
| 
 | |
| 	fn([]interface{}(nil), (*decoderMsgpackIO).fastpathDecSliceIntfR)
 | |
| 	fn([]string(nil), (*decoderMsgpackIO).fastpathDecSliceStringR)
 | |
| 	fn([][]byte(nil), (*decoderMsgpackIO).fastpathDecSliceBytesR)
 | |
| 	fn([]float32(nil), (*decoderMsgpackIO).fastpathDecSliceFloat32R)
 | |
| 	fn([]float64(nil), (*decoderMsgpackIO).fastpathDecSliceFloat64R)
 | |
| 	fn([]uint8(nil), (*decoderMsgpackIO).fastpathDecSliceUint8R)
 | |
| 	fn([]uint64(nil), (*decoderMsgpackIO).fastpathDecSliceUint64R)
 | |
| 	fn([]int(nil), (*decoderMsgpackIO).fastpathDecSliceIntR)
 | |
| 	fn([]int32(nil), (*decoderMsgpackIO).fastpathDecSliceInt32R)
 | |
| 	fn([]int64(nil), (*decoderMsgpackIO).fastpathDecSliceInt64R)
 | |
| 	fn([]bool(nil), (*decoderMsgpackIO).fastpathDecSliceBoolR)
 | |
| 
 | |
| 	fn(map[string]interface{}(nil), (*decoderMsgpackIO).fastpathDecMapStringIntfR)
 | |
| 	fn(map[string]string(nil), (*decoderMsgpackIO).fastpathDecMapStringStringR)
 | |
| 	fn(map[string][]byte(nil), (*decoderMsgpackIO).fastpathDecMapStringBytesR)
 | |
| 	fn(map[string]uint8(nil), (*decoderMsgpackIO).fastpathDecMapStringUint8R)
 | |
| 	fn(map[string]uint64(nil), (*decoderMsgpackIO).fastpathDecMapStringUint64R)
 | |
| 	fn(map[string]int(nil), (*decoderMsgpackIO).fastpathDecMapStringIntR)
 | |
| 	fn(map[string]int32(nil), (*decoderMsgpackIO).fastpathDecMapStringInt32R)
 | |
| 	fn(map[string]float64(nil), (*decoderMsgpackIO).fastpathDecMapStringFloat64R)
 | |
| 	fn(map[string]bool(nil), (*decoderMsgpackIO).fastpathDecMapStringBoolR)
 | |
| 	fn(map[uint8]interface{}(nil), (*decoderMsgpackIO).fastpathDecMapUint8IntfR)
 | |
| 	fn(map[uint8]string(nil), (*decoderMsgpackIO).fastpathDecMapUint8StringR)
 | |
| 	fn(map[uint8][]byte(nil), (*decoderMsgpackIO).fastpathDecMapUint8BytesR)
 | |
| 	fn(map[uint8]uint8(nil), (*decoderMsgpackIO).fastpathDecMapUint8Uint8R)
 | |
| 	fn(map[uint8]uint64(nil), (*decoderMsgpackIO).fastpathDecMapUint8Uint64R)
 | |
| 	fn(map[uint8]int(nil), (*decoderMsgpackIO).fastpathDecMapUint8IntR)
 | |
| 	fn(map[uint8]int32(nil), (*decoderMsgpackIO).fastpathDecMapUint8Int32R)
 | |
| 	fn(map[uint8]float64(nil), (*decoderMsgpackIO).fastpathDecMapUint8Float64R)
 | |
| 	fn(map[uint8]bool(nil), (*decoderMsgpackIO).fastpathDecMapUint8BoolR)
 | |
| 	fn(map[uint64]interface{}(nil), (*decoderMsgpackIO).fastpathDecMapUint64IntfR)
 | |
| 	fn(map[uint64]string(nil), (*decoderMsgpackIO).fastpathDecMapUint64StringR)
 | |
| 	fn(map[uint64][]byte(nil), (*decoderMsgpackIO).fastpathDecMapUint64BytesR)
 | |
| 	fn(map[uint64]uint8(nil), (*decoderMsgpackIO).fastpathDecMapUint64Uint8R)
 | |
| 	fn(map[uint64]uint64(nil), (*decoderMsgpackIO).fastpathDecMapUint64Uint64R)
 | |
| 	fn(map[uint64]int(nil), (*decoderMsgpackIO).fastpathDecMapUint64IntR)
 | |
| 	fn(map[uint64]int32(nil), (*decoderMsgpackIO).fastpathDecMapUint64Int32R)
 | |
| 	fn(map[uint64]float64(nil), (*decoderMsgpackIO).fastpathDecMapUint64Float64R)
 | |
| 	fn(map[uint64]bool(nil), (*decoderMsgpackIO).fastpathDecMapUint64BoolR)
 | |
| 	fn(map[int]interface{}(nil), (*decoderMsgpackIO).fastpathDecMapIntIntfR)
 | |
| 	fn(map[int]string(nil), (*decoderMsgpackIO).fastpathDecMapIntStringR)
 | |
| 	fn(map[int][]byte(nil), (*decoderMsgpackIO).fastpathDecMapIntBytesR)
 | |
| 	fn(map[int]uint8(nil), (*decoderMsgpackIO).fastpathDecMapIntUint8R)
 | |
| 	fn(map[int]uint64(nil), (*decoderMsgpackIO).fastpathDecMapIntUint64R)
 | |
| 	fn(map[int]int(nil), (*decoderMsgpackIO).fastpathDecMapIntIntR)
 | |
| 	fn(map[int]int32(nil), (*decoderMsgpackIO).fastpathDecMapIntInt32R)
 | |
| 	fn(map[int]float64(nil), (*decoderMsgpackIO).fastpathDecMapIntFloat64R)
 | |
| 	fn(map[int]bool(nil), (*decoderMsgpackIO).fastpathDecMapIntBoolR)
 | |
| 	fn(map[int32]interface{}(nil), (*decoderMsgpackIO).fastpathDecMapInt32IntfR)
 | |
| 	fn(map[int32]string(nil), (*decoderMsgpackIO).fastpathDecMapInt32StringR)
 | |
| 	fn(map[int32][]byte(nil), (*decoderMsgpackIO).fastpathDecMapInt32BytesR)
 | |
| 	fn(map[int32]uint8(nil), (*decoderMsgpackIO).fastpathDecMapInt32Uint8R)
 | |
| 	fn(map[int32]uint64(nil), (*decoderMsgpackIO).fastpathDecMapInt32Uint64R)
 | |
| 	fn(map[int32]int(nil), (*decoderMsgpackIO).fastpathDecMapInt32IntR)
 | |
| 	fn(map[int32]int32(nil), (*decoderMsgpackIO).fastpathDecMapInt32Int32R)
 | |
| 	fn(map[int32]float64(nil), (*decoderMsgpackIO).fastpathDecMapInt32Float64R)
 | |
| 	fn(map[int32]bool(nil), (*decoderMsgpackIO).fastpathDecMapInt32BoolR)
 | |
| 
 | |
| 	sort.Slice(s[:], func(i, j int) bool { return s[i].rtid < s[j].rtid })
 | |
| 	return &s
 | |
| }
 | |
| 
 | |
| func (helperEncDriverMsgpackIO) fastpathEncodeTypeSwitch(iv interface{}, e *encoderMsgpackIO) bool {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	switch v := iv.(type) {
 | |
| 	case []interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceIntfV(v, e)
 | |
| 		}
 | |
| 	case []string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceStringV(v, e)
 | |
| 		}
 | |
| 	case [][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceBytesV(v, e)
 | |
| 		}
 | |
| 	case []float32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceFloat32V(v, e)
 | |
| 		}
 | |
| 	case []float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceFloat64V(v, e)
 | |
| 		}
 | |
| 	case []uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceUint8V(v, e)
 | |
| 		}
 | |
| 	case []uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceUint64V(v, e)
 | |
| 		}
 | |
| 	case []int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceIntV(v, e)
 | |
| 		}
 | |
| 	case []int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceInt32V(v, e)
 | |
| 		}
 | |
| 	case []int64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceInt64V(v, e)
 | |
| 		}
 | |
| 	case []bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilArray()
 | |
| 		} else {
 | |
| 			ft.EncSliceBoolV(v, e)
 | |
| 		}
 | |
| 	case map[string]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringIntfV(v, e)
 | |
| 		}
 | |
| 	case map[string]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringStringV(v, e)
 | |
| 		}
 | |
| 	case map[string][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringBytesV(v, e)
 | |
| 		}
 | |
| 	case map[string]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringUint8V(v, e)
 | |
| 		}
 | |
| 	case map[string]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringUint64V(v, e)
 | |
| 		}
 | |
| 	case map[string]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringIntV(v, e)
 | |
| 		}
 | |
| 	case map[string]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringInt32V(v, e)
 | |
| 		}
 | |
| 	case map[string]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringFloat64V(v, e)
 | |
| 		}
 | |
| 	case map[string]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapStringBoolV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8IntfV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8StringV(v, e)
 | |
| 		}
 | |
| 	case map[uint8][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8BytesV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Uint8V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Uint64V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8IntV(v, e)
 | |
| 		}
 | |
| 	case map[uint8]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Int32V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8Float64V(v, e)
 | |
| 		}
 | |
| 	case map[uint8]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint8BoolV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64IntfV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64StringV(v, e)
 | |
| 		}
 | |
| 	case map[uint64][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64BytesV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Uint8V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Uint64V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64IntV(v, e)
 | |
| 		}
 | |
| 	case map[uint64]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Int32V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64Float64V(v, e)
 | |
| 		}
 | |
| 	case map[uint64]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapUint64BoolV(v, e)
 | |
| 		}
 | |
| 	case map[int]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntIntfV(v, e)
 | |
| 		}
 | |
| 	case map[int]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntStringV(v, e)
 | |
| 		}
 | |
| 	case map[int][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntBytesV(v, e)
 | |
| 		}
 | |
| 	case map[int]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntUint8V(v, e)
 | |
| 		}
 | |
| 	case map[int]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntUint64V(v, e)
 | |
| 		}
 | |
| 	case map[int]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntIntV(v, e)
 | |
| 		}
 | |
| 	case map[int]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntInt32V(v, e)
 | |
| 		}
 | |
| 	case map[int]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntFloat64V(v, e)
 | |
| 		}
 | |
| 	case map[int]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapIntBoolV(v, e)
 | |
| 		}
 | |
| 	case map[int32]interface{}:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32IntfV(v, e)
 | |
| 		}
 | |
| 	case map[int32]string:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32StringV(v, e)
 | |
| 		}
 | |
| 	case map[int32][]byte:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32BytesV(v, e)
 | |
| 		}
 | |
| 	case map[int32]uint8:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Uint8V(v, e)
 | |
| 		}
 | |
| 	case map[int32]uint64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Uint64V(v, e)
 | |
| 		}
 | |
| 	case map[int32]int:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32IntV(v, e)
 | |
| 		}
 | |
| 	case map[int32]int32:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Int32V(v, e)
 | |
| 		}
 | |
| 	case map[int32]float64:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32Float64V(v, e)
 | |
| 		}
 | |
| 	case map[int32]bool:
 | |
| 		if v == nil {
 | |
| 			e.e.writeNilMap()
 | |
| 		} else {
 | |
| 			ft.EncMapInt32BoolV(v, e)
 | |
| 		}
 | |
| 	default:
 | |
| 		_ = v
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceIntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []interface{}
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]interface{})
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceIntfV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceIntfV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceIntfV(v []interface{}, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		if !e.encodeBuiltin(v[j]) {
 | |
| 			e.encodeR(reflect.ValueOf(v[j]))
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceIntfV(v []interface{}, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		if !e.encodeBuiltin(v[j]) {
 | |
| 			e.encodeR(reflect.ValueOf(v[j]))
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceStringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []string
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]string)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceStringV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceStringV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceStringV(v []string, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeString(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceStringV(v []string, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeString(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceBytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v [][]byte
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([][]byte)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceBytesV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceBytesV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceBytesV(v [][]byte, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeBytes(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceBytesV(v [][]byte, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeBytes(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceFloat32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []float32
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]float32)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceFloat32V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceFloat32V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceFloat32V(v []float32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeFloat32(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceFloat32V(v []float32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeFloat32(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceFloat64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []float64
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]float64)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceFloat64V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceFloat64V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceFloat64V(v []float64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeFloat64(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceFloat64V(v []float64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeFloat64(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceUint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []uint8
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]uint8)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceUint8V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceUint8V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceUint8V(v []uint8, e *encoderMsgpackIO) {
 | |
| 	e.e.EncodeStringBytesRaw(v)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceUint8V(v []uint8, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeUint(uint64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceUint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []uint64
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]uint64)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceUint64V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceUint64V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceUint64V(v []uint64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeUint(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceUint64V(v []uint64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeUint(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceIntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []int
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]int)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceIntV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceIntV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceIntV(v []int, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceIntV(v []int, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceInt32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []int32
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]int32)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceInt32V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceInt32V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceInt32V(v []int32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceInt32V(v []int32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeInt(int64(v[j]))
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceInt64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []int64
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]int64)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceInt64V(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceInt64V(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceInt64V(v []int64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeInt(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceInt64V(v []int64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeInt(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncSliceBoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathETMsgpackIO
 | |
| 	var v []bool
 | |
| 	if rv.Kind() == reflect.Array {
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 	} else {
 | |
| 		v = rv2i(rv).([]bool)
 | |
| 	}
 | |
| 	if f.ti.mbs {
 | |
| 		ft.EncAsMapSliceBoolV(v, e)
 | |
| 		return
 | |
| 	}
 | |
| 	ft.EncSliceBoolV(v, e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncSliceBoolV(v []bool, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteArrayEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.arrayStart(len(v))
 | |
| 	for j := range v {
 | |
| 		e.c = containerArrayElem
 | |
| 		e.e.WriteArrayElem(j == 0)
 | |
| 		e.e.EncodeBool(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteArrayEnd()
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncAsMapSliceBoolV(v []bool, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.c = 0
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	e.haltOnMbsOddLen(len(v))
 | |
| 	e.mapStart(len(v) >> 1)
 | |
| 	for j := range v {
 | |
| 		if j&1 == 0 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			e.mapElemValue()
 | |
| 		}
 | |
| 		e.e.EncodeBool(v[j])
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringIntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringIntfV(rv2i(rv).(map[string]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringIntfV(v map[string]interface{}, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringStringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringStringV(rv2i(rv).(map[string]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringStringV(v map[string]string, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringBytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringBytesV(rv2i(rv).(map[string][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringBytesV(v map[string][]byte, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringUint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringUint8V(rv2i(rv).(map[string]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringUint8V(v map[string]uint8, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringUint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringUint64V(rv2i(rv).(map[string]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringUint64V(v map[string]uint64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringIntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringIntV(rv2i(rv).(map[string]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringIntV(v map[string]int, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringInt32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringInt32V(rv2i(rv).(map[string]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringInt32V(v map[string]int32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringFloat64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringFloat64V(rv2i(rv).(map[string]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringFloat64V(v map[string]float64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapStringBoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapStringBoolV(rv2i(rv).(map[string]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapStringBoolV(v map[string]bool, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]string, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeString(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8IntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8IntfV(rv2i(rv).(map[uint8]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8IntfV(v map[uint8]interface{}, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8StringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8StringV(rv2i(rv).(map[uint8]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8StringV(v map[uint8]string, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8BytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8BytesV(rv2i(rv).(map[uint8][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8BytesV(v map[uint8][]byte, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8Uint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8Uint8V(rv2i(rv).(map[uint8]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8Uint8V(v map[uint8]uint8, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8Uint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8Uint64V(rv2i(rv).(map[uint8]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8Uint64V(v map[uint8]uint64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8IntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8IntV(rv2i(rv).(map[uint8]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8IntV(v map[uint8]int, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8Int32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8Int32V(rv2i(rv).(map[uint8]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8Int32V(v map[uint8]int32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8Float64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8Float64V(rv2i(rv).(map[uint8]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8Float64V(v map[uint8]float64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint8BoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint8BoolV(rv2i(rv).(map[uint8]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint8BoolV(v map[uint8]bool, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint8, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(uint64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64IntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64IntfV(rv2i(rv).(map[uint64]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64IntfV(v map[uint64]interface{}, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64StringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64StringV(rv2i(rv).(map[uint64]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64StringV(v map[uint64]string, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64BytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64BytesV(rv2i(rv).(map[uint64][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64BytesV(v map[uint64][]byte, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64Uint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64Uint8V(rv2i(rv).(map[uint64]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64Uint8V(v map[uint64]uint8, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64Uint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64Uint64V(rv2i(rv).(map[uint64]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64Uint64V(v map[uint64]uint64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64IntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64IntV(rv2i(rv).(map[uint64]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64IntV(v map[uint64]int, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64Int32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64Int32V(rv2i(rv).(map[uint64]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64Int32V(v map[uint64]int32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64Float64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64Float64V(rv2i(rv).(map[uint64]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64Float64V(v map[uint64]float64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapUint64BoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapUint64BoolV(rv2i(rv).(map[uint64]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapUint64BoolV(v map[uint64]bool, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]uint64, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeUint(k2)
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntIntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntIntfV(rv2i(rv).(map[int]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntIntfV(v map[int]interface{}, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntStringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntStringV(rv2i(rv).(map[int]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntStringV(v map[int]string, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntBytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntBytesV(rv2i(rv).(map[int][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntBytesV(v map[int][]byte, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntUint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntUint8V(rv2i(rv).(map[int]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntUint8V(v map[int]uint8, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntUint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntUint64V(rv2i(rv).(map[int]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntUint64V(v map[int]uint64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntIntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntIntV(rv2i(rv).(map[int]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntIntV(v map[int]int, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntInt32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntInt32V(rv2i(rv).(map[int]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntInt32V(v map[int]int32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntFloat64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntFloat64V(rv2i(rv).(map[int]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntFloat64V(v map[int]float64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapIntBoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapIntBoolV(rv2i(rv).(map[int]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapIntBoolV(v map[int]bool, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32IntfR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32IntfV(rv2i(rv).(map[int32]interface{}), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32IntfV(v map[int32]interface{}, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v[k2]) {
 | |
| 				e.encodeR(reflect.ValueOf(v[k2]))
 | |
| 			}
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			if !e.encodeBuiltin(v2) {
 | |
| 				e.encodeR(reflect.ValueOf(v2))
 | |
| 			}
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32StringR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32StringV(rv2i(rv).(map[int32]string), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32StringV(v map[int32]string, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeString(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32BytesR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32BytesV(rv2i(rv).(map[int32][]byte), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32BytesV(v map[int32][]byte, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBytes(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32Uint8R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32Uint8V(rv2i(rv).(map[int32]uint8), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32Uint8V(v map[int32]uint8, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(uint64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32Uint64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32Uint64V(rv2i(rv).(map[int32]uint64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32Uint64V(v map[int32]uint64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeUint(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32IntR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32IntV(rv2i(rv).(map[int32]int), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32IntV(v map[int32]int, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32Int32R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32Int32V(rv2i(rv).(map[int32]int32), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32Int32V(v map[int32]int32, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v[k2]))
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeInt(int64(v2))
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32Float64R(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32Float64V(rv2i(rv).(map[int32]float64), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32Float64V(v map[int32]float64, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeFloat64(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| func (e *encoderMsgpackIO) fastpathEncMapInt32BoolR(f *encFnInfo, rv reflect.Value) {
 | |
| 	fastpathETMsgpackIO{}.EncMapInt32BoolV(rv2i(rv).(map[int32]bool), e)
 | |
| }
 | |
| func (fastpathETMsgpackIO) EncMapInt32BoolV(v map[int32]bool, e *encoderMsgpackIO) {
 | |
| 	if len(v) == 0 {
 | |
| 		e.e.WriteMapEmpty()
 | |
| 		return
 | |
| 	}
 | |
| 	var i uint
 | |
| 	e.mapStart(len(v))
 | |
| 	if e.h.Canonical {
 | |
| 		v2 := make([]int32, len(v))
 | |
| 		for k := range v {
 | |
| 			v2[i] = k
 | |
| 			i++
 | |
| 		}
 | |
| 		slices.Sort(v2)
 | |
| 		for i, k2 := range v2 {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v[k2])
 | |
| 		}
 | |
| 	} else {
 | |
| 		i = 0
 | |
| 		for k2, v2 := range v {
 | |
| 			e.c = containerMapKey
 | |
| 			e.e.WriteMapElemKey(i == 0)
 | |
| 			e.e.EncodeInt(int64(k2))
 | |
| 			e.mapElemValue()
 | |
| 			e.e.EncodeBool(v2)
 | |
| 			i++
 | |
| 		}
 | |
| 	}
 | |
| 	e.c = 0
 | |
| 	e.e.WriteMapEnd()
 | |
| }
 | |
| 
 | |
| func (helperDecDriverMsgpackIO) fastpathDecodeTypeSwitch(iv interface{}, d *decoderMsgpackIO) bool {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	var changed bool
 | |
| 	var containerLen int
 | |
| 	switch v := iv.(type) {
 | |
| 	case []interface{}:
 | |
| 		ft.DecSliceIntfN(v, d)
 | |
| 	case *[]interface{}:
 | |
| 		var v2 []interface{}
 | |
| 		if v2, changed = ft.DecSliceIntfY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []string:
 | |
| 		ft.DecSliceStringN(v, d)
 | |
| 	case *[]string:
 | |
| 		var v2 []string
 | |
| 		if v2, changed = ft.DecSliceStringY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case [][]byte:
 | |
| 		ft.DecSliceBytesN(v, d)
 | |
| 	case *[][]byte:
 | |
| 		var v2 [][]byte
 | |
| 		if v2, changed = ft.DecSliceBytesY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []float32:
 | |
| 		ft.DecSliceFloat32N(v, d)
 | |
| 	case *[]float32:
 | |
| 		var v2 []float32
 | |
| 		if v2, changed = ft.DecSliceFloat32Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []float64:
 | |
| 		ft.DecSliceFloat64N(v, d)
 | |
| 	case *[]float64:
 | |
| 		var v2 []float64
 | |
| 		if v2, changed = ft.DecSliceFloat64Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []uint8:
 | |
| 		ft.DecSliceUint8N(v, d)
 | |
| 	case *[]uint8:
 | |
| 		var v2 []uint8
 | |
| 		if v2, changed = ft.DecSliceUint8Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []uint64:
 | |
| 		ft.DecSliceUint64N(v, d)
 | |
| 	case *[]uint64:
 | |
| 		var v2 []uint64
 | |
| 		if v2, changed = ft.DecSliceUint64Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []int:
 | |
| 		ft.DecSliceIntN(v, d)
 | |
| 	case *[]int:
 | |
| 		var v2 []int
 | |
| 		if v2, changed = ft.DecSliceIntY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []int32:
 | |
| 		ft.DecSliceInt32N(v, d)
 | |
| 	case *[]int32:
 | |
| 		var v2 []int32
 | |
| 		if v2, changed = ft.DecSliceInt32Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []int64:
 | |
| 		ft.DecSliceInt64N(v, d)
 | |
| 	case *[]int64:
 | |
| 		var v2 []int64
 | |
| 		if v2, changed = ft.DecSliceInt64Y(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case []bool:
 | |
| 		ft.DecSliceBoolN(v, d)
 | |
| 	case *[]bool:
 | |
| 		var v2 []bool
 | |
| 		if v2, changed = ft.DecSliceBoolY(*v, d); changed {
 | |
| 			*v = v2
 | |
| 		}
 | |
| 	case map[string]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]interface{}, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringStringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]string, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringStringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string][]byte, decInferLen(containerLen, d.maxInitLen(), 40))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]uint8, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]uint64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringUint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]int, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringIntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringInt32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]int32, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringInt32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringFloat64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]float64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringFloat64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[string]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[string]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[string]bool, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapStringBoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]interface{}, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8StringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]string, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8StringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8][]byte, decInferLen(containerLen, d.maxInitLen(), 25))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]uint8, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]uint64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Uint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]int, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8IntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Int32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]int32, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Int32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Float64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]float64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8Float64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint8]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint8]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint8]bool, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint8BoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64StringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64StringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Uint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64IntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Int32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Int32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Float64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64Float64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[uint64]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[uint64]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[uint64]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapUint64BoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntStringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntStringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntUint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntIntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntInt32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntInt32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntFloat64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntFloat64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapIntBoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntfL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]interface{}:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]interface{}, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntfL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32StringL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]string:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]string, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32StringL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BytesL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32][]byte:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32][]byte, decInferLen(containerLen, d.maxInitLen(), 28))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BytesL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint8L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]uint8:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]uint8, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint8L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]uint64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]uint64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Uint64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]int:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]int, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32IntL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Int32L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]int32:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]int32, decInferLen(containerLen, d.maxInitLen(), 8))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Int32L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Float64L(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]float64:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]float64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32Float64L(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case map[int32]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen != containerLenNil {
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BoolL(v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	case *map[int32]bool:
 | |
| 		if containerLen = d.mapStart(d.d.ReadMapStart()); containerLen == containerLenNil {
 | |
| 			*v = nil
 | |
| 		} else {
 | |
| 			if *v == nil {
 | |
| 				*v = make(map[int32]bool, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 			}
 | |
| 			if containerLen != 0 {
 | |
| 				ft.DecMapInt32BoolL(*v, containerLen, d)
 | |
| 			}
 | |
| 			d.mapEnd()
 | |
| 		}
 | |
| 	default:
 | |
| 		_ = v
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceIntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]interface{})
 | |
| 		if vv, changed := ft.DecSliceIntfY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []interface{}
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceIntfN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceIntfN(rv2i(rv).([]interface{}), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceIntfY(v []interface{}, d *decoderMsgpackIO) (v2 []interface{}, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []interface{}) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 16)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]interface{}, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, nil))
 | |
| 		}
 | |
| 		d.decode(&v[uint(j)])
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]interface{}{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceIntfN(v []interface{}, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			d.decode(&v[uint(j)])
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceStringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]string)
 | |
| 		if vv, changed := ft.DecSliceStringY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []string
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceStringN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceStringN(rv2i(rv).([]string), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceStringY(v []string, d *decoderMsgpackIO) (v2 []string, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []string) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 16)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]string, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, ""))
 | |
| 		}
 | |
| 		v[uint(j)] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]string{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceStringN(v []string, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceBytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[][]byte)
 | |
| 		if vv, changed := ft.DecSliceBytesY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v [][]byte
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceBytesN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceBytesN(rv2i(rv).([][]byte), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceBytesY(v [][]byte, d *decoderMsgpackIO) (v2 [][]byte, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst [][]byte) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 24)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([][]byte, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, nil))
 | |
| 		}
 | |
| 		v[uint(j)] = bytesOKdbi(d.decodeBytesInto(v[uint(j)], false))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([][]byte{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceBytesN(v [][]byte, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = bytesOKdbi(d.decodeBytesInto(v[uint(j)], false))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceFloat32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]float32)
 | |
| 		if vv, changed := ft.DecSliceFloat32Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []float32
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceFloat32N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceFloat32N(rv2i(rv).([]float32), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceFloat32Y(v []float32, d *decoderMsgpackIO) (v2 []float32, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []float32) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 4)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]float32, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = float32(d.d.DecodeFloat32())
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]float32{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceFloat32N(v []float32, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = float32(d.d.DecodeFloat32())
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceFloat64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]float64)
 | |
| 		if vv, changed := ft.DecSliceFloat64Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []float64
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceFloat64N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceFloat64N(rv2i(rv).([]float64), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceFloat64Y(v []float64, d *decoderMsgpackIO) (v2 []float64, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []float64) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]float64, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]float64{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceFloat64N(v []float64, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeFloat64()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceUint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]uint8)
 | |
| 		if vv, changed := ft.DecSliceUint8Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []uint8
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceUint8N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceUint8N(rv2i(rv).([]uint8), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceUint8Y(v []uint8, d *decoderMsgpackIO) (v2 []uint8, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	if ctyp != valueTypeMap {
 | |
| 		var dbi dBytesIntoState
 | |
| 		v2, dbi = d.decodeBytesInto(v[:len(v):len(v)], false)
 | |
| 		return v2, dbi != dBytesIntoParamOut
 | |
| 	}
 | |
| 	containerLenS := d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []uint8) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 1)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]uint8, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]uint8{})
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceUint8N(v []uint8, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	if ctyp != valueTypeMap {
 | |
| 		d.decodeBytesInto(v[:len(v):len(v)], true)
 | |
| 		return
 | |
| 	}
 | |
| 	containerLenS := d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceUint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]uint64)
 | |
| 		if vv, changed := ft.DecSliceUint64Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []uint64
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceUint64N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceUint64N(rv2i(rv).([]uint64), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceUint64Y(v []uint64, d *decoderMsgpackIO) (v2 []uint64, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []uint64) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]uint64, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeUint64()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]uint64{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceUint64N(v []uint64, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeUint64()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceIntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]int)
 | |
| 		if vv, changed := ft.DecSliceIntY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []int
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceIntN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceIntN(rv2i(rv).([]int), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceIntY(v []int, d *decoderMsgpackIO) (v2 []int, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []int) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]int, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]int{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceIntN(v []int, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceInt32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]int32)
 | |
| 		if vv, changed := ft.DecSliceInt32Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []int32
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceInt32N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceInt32N(rv2i(rv).([]int32), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceInt32Y(v []int32, d *decoderMsgpackIO) (v2 []int32, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []int32) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 4)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]int32, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]int32{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceInt32N(v []int32, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceInt64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]int64)
 | |
| 		if vv, changed := ft.DecSliceInt64Y(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []int64
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceInt64N(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceInt64N(rv2i(rv).([]int64), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceInt64Y(v []int64, d *decoderMsgpackIO) (v2 []int64, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []int64) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 8)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]int64, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, 0))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeInt64()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]int64{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceInt64N(v []int64, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeInt64()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (d *decoderMsgpackIO) fastpathDecSliceBoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	switch rv.Kind() {
 | |
| 	case reflect.Ptr:
 | |
| 		v := rv2i(rv).(*[]bool)
 | |
| 		if vv, changed := ft.DecSliceBoolY(*v, d); changed {
 | |
| 			*v = vv
 | |
| 		}
 | |
| 	case reflect.Array:
 | |
| 		var v []bool
 | |
| 		rvGetSlice4Array(rv, &v)
 | |
| 		ft.DecSliceBoolN(v, d)
 | |
| 	default:
 | |
| 		ft.DecSliceBoolN(rv2i(rv).([]bool), d)
 | |
| 	}
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceBoolY(v []bool, d *decoderMsgpackIO) (v2 []bool, changed bool) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return nil, v != nil
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	var j int
 | |
| 	fnv := func(dst []bool) { v, changed = dst, true }
 | |
| 	for ; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if j == 0 {
 | |
| 			if containerLenS == len(v) {
 | |
| 			} else if containerLenS < 0 || containerLenS > cap(v) {
 | |
| 				if xlen := int(decInferLen(containerLenS, d.maxInitLen(), 1)); xlen <= cap(v) {
 | |
| 					fnv(v[:uint(xlen)])
 | |
| 				} else {
 | |
| 					v2 = make([]bool, uint(xlen))
 | |
| 					copy(v2, v)
 | |
| 					fnv(v2)
 | |
| 				}
 | |
| 			} else {
 | |
| 				fnv(v[:containerLenS])
 | |
| 			}
 | |
| 		}
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j >= len(v) {
 | |
| 			fnv(append(v, false))
 | |
| 		}
 | |
| 		v[uint(j)] = d.d.DecodeBool()
 | |
| 	}
 | |
| 	if j < len(v) {
 | |
| 		fnv(v[:uint(j)])
 | |
| 	} else if j == 0 && v == nil {
 | |
| 		fnv([]bool{})
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| 	return v, changed
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecSliceBoolN(v []bool, d *decoderMsgpackIO) {
 | |
| 	ctyp := d.d.ContainerType()
 | |
| 	if ctyp == valueTypeNil {
 | |
| 		return
 | |
| 	}
 | |
| 	var containerLenS int
 | |
| 	isArray := ctyp == valueTypeArray
 | |
| 	if isArray {
 | |
| 		containerLenS = d.arrayStart(d.d.ReadArrayStart())
 | |
| 	} else if ctyp == valueTypeMap {
 | |
| 		containerLenS = d.mapStart(d.d.ReadMapStart()) * 2
 | |
| 	} else {
 | |
| 		halt.errorStr2("decoding into a slice, expect map/array - got ", ctyp.String())
 | |
| 	}
 | |
| 	hasLen := containerLenS >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLenS, hasLen); j++ {
 | |
| 		if isArray {
 | |
| 			d.arrayElem(j == 0)
 | |
| 		} else if j&1 == 0 {
 | |
| 			d.mapElemKey(j == 0)
 | |
| 		} else {
 | |
| 			d.mapElemValue()
 | |
| 		}
 | |
| 		if j < len(v) {
 | |
| 			v[uint(j)] = d.d.DecodeBool()
 | |
| 		} else {
 | |
| 			d.arrayCannotExpand(len(v), j+1)
 | |
| 			d.swallow()
 | |
| 		}
 | |
| 	}
 | |
| 	if isArray {
 | |
| 		d.arrayEnd()
 | |
| 	} else {
 | |
| 		d.mapEnd()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringIntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]interface{}, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringIntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringIntfL(rv2i(rv).(map[string]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringIntfL(v map[string]interface{}, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringStringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]string, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringStringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringStringL(rv2i(rv).(map[string]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringStringL(v map[string]string, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringBytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string][]byte, decInferLen(containerLen, d.maxInitLen(), 40))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringBytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringBytesL(rv2i(rv).(map[string][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringBytesL(v map[string][]byte, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringUint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]uint8, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringUint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringUint8L(rv2i(rv).(map[string]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringUint8L(v map[string]uint8, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringUint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]uint64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringUint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringUint64L(rv2i(rv).(map[string]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringUint64L(v map[string]uint64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringIntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]int, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringIntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringIntL(rv2i(rv).(map[string]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringIntL(v map[string]int, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringInt32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]int32, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringInt32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringInt32L(rv2i(rv).(map[string]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringInt32L(v map[string]int32, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringFloat64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]float64, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringFloat64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringFloat64L(rv2i(rv).(map[string]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringFloat64L(v map[string]float64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapStringBoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[string]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[string]bool, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapStringBoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapStringBoolL(rv2i(rv).(map[string]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapStringBoolL(v map[string]bool, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[string]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8IntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]interface{}, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8IntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8IntfL(rv2i(rv).(map[uint8]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8IntfL(v map[uint8]interface{}, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8StringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]string, decInferLen(containerLen, d.maxInitLen(), 17))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8StringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8StringL(rv2i(rv).(map[uint8]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8StringL(v map[uint8]string, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8BytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8][]byte, decInferLen(containerLen, d.maxInitLen(), 25))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8BytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8BytesL(rv2i(rv).(map[uint8][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8BytesL(v map[uint8][]byte, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8Uint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]uint8, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Uint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Uint8L(rv2i(rv).(map[uint8]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8Uint8L(v map[uint8]uint8, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8Uint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]uint64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Uint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Uint64L(rv2i(rv).(map[uint8]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8Uint64L(v map[uint8]uint64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8IntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]int, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8IntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8IntL(rv2i(rv).(map[uint8]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8IntL(v map[uint8]int, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8Int32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]int32, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Int32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Int32L(rv2i(rv).(map[uint8]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8Int32L(v map[uint8]int32, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8Float64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]float64, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8Float64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8Float64L(rv2i(rv).(map[uint8]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8Float64L(v map[uint8]float64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint8BoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint8]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint8]bool, decInferLen(containerLen, d.maxInitLen(), 2))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint8BoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint8BoolL(rv2i(rv).(map[uint8]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint8BoolL(v map[uint8]bool, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint8]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64IntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64IntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64IntfL(rv2i(rv).(map[uint64]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64IntfL(v map[uint64]interface{}, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64StringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64StringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64StringL(rv2i(rv).(map[uint64]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64StringL(v map[uint64]string, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64BytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64BytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64BytesL(rv2i(rv).(map[uint64][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64BytesL(v map[uint64][]byte, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64Uint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Uint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Uint8L(rv2i(rv).(map[uint64]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64Uint8L(v map[uint64]uint8, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64Uint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Uint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Uint64L(rv2i(rv).(map[uint64]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64Uint64L(v map[uint64]uint64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64IntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64IntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64IntL(rv2i(rv).(map[uint64]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64IntL(v map[uint64]int, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64Int32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Int32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Int32L(rv2i(rv).(map[uint64]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64Int32L(v map[uint64]int32, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64Float64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64Float64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64Float64L(rv2i(rv).(map[uint64]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64Float64L(v map[uint64]float64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapUint64BoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[uint64]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[uint64]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapUint64BoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapUint64BoolL(rv2i(rv).(map[uint64]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapUint64BoolL(v map[uint64]bool, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[uint64]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := d.d.DecodeUint64()
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntIntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]interface{}, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntIntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntIntfL(rv2i(rv).(map[int]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntIntfL(v map[int]interface{}, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntStringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]string, decInferLen(containerLen, d.maxInitLen(), 24))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntStringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntStringL(rv2i(rv).(map[int]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntStringL(v map[int]string, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntBytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int][]byte, decInferLen(containerLen, d.maxInitLen(), 32))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntBytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntBytesL(rv2i(rv).(map[int][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntBytesL(v map[int][]byte, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntUint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]uint8, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntUint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntUint8L(rv2i(rv).(map[int]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntUint8L(v map[int]uint8, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntUint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]uint64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntUint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntUint64L(rv2i(rv).(map[int]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntUint64L(v map[int]uint64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntIntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]int, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntIntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntIntL(rv2i(rv).(map[int]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntIntL(v map[int]int, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntInt32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]int32, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntInt32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntInt32L(rv2i(rv).(map[int]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntInt32L(v map[int]int32, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntFloat64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]float64, decInferLen(containerLen, d.maxInitLen(), 16))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntFloat64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntFloat64L(rv2i(rv).(map[int]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntFloat64L(v map[int]float64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapIntBoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int]bool, decInferLen(containerLen, d.maxInitLen(), 9))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapIntBoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapIntBoolL(rv2i(rv).(map[int]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapIntBoolL(v map[int]bool, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32IntfR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]interface{})
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]interface{}, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32IntfL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32IntfL(rv2i(rv).(map[int32]interface{}), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32IntfL(v map[int32]interface{}, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]interface{} given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv interface{}
 | |
| 	mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		d.decode(&mv)
 | |
| 		v[mk] = mv
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32StringR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]string)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]string, decInferLen(containerLen, d.maxInitLen(), 20))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32StringL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32StringL(rv2i(rv).(map[int32]string), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32StringL(v map[int32]string, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]string given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.detach2Str(d.d.DecodeStringAsBytes())
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32BytesR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32][]byte)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32][]byte, decInferLen(containerLen, d.maxInitLen(), 28))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32BytesL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32BytesL(rv2i(rv).(map[int32][]byte), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32BytesL(v map[int32][]byte, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32][]byte given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	var mv []byte
 | |
| 	mapGet := !d.h.MapValueReset
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		if mapGet {
 | |
| 			mv = v[mk]
 | |
| 		} else {
 | |
| 			mv = nil
 | |
| 		}
 | |
| 		v[mk], _ = d.decodeBytesInto(mv, false)
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32Uint8R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]uint8)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]uint8, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Uint8L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Uint8L(rv2i(rv).(map[int32]uint8), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32Uint8L(v map[int32]uint8, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]uint8 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = uint8(chkOvf.UintV(d.d.DecodeUint64(), 8))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32Uint64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]uint64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]uint64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Uint64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Uint64L(rv2i(rv).(map[int32]uint64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32Uint64L(v map[int32]uint64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]uint64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeUint64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32IntR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]int)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]int, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32IntL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32IntL(rv2i(rv).(map[int32]int), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32IntL(v map[int32]int, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]int given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int(chkOvf.IntV(d.d.DecodeInt64(), intBitsize))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32Int32R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]int32)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]int32, decInferLen(containerLen, d.maxInitLen(), 8))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Int32L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Int32L(rv2i(rv).(map[int32]int32), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32Int32L(v map[int32]int32, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]int32 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32Float64R(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]float64)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]float64, decInferLen(containerLen, d.maxInitLen(), 12))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32Float64L(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32Float64L(rv2i(rv).(map[int32]float64), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32Float64L(v map[int32]float64, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]float64 given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeFloat64()
 | |
| 	}
 | |
| }
 | |
| func (d *decoderMsgpackIO) fastpathDecMapInt32BoolR(f *decFnInfo, rv reflect.Value) {
 | |
| 	var ft fastpathDTMsgpackIO
 | |
| 	containerLen := d.mapStart(d.d.ReadMapStart())
 | |
| 	if rv.Kind() == reflect.Ptr {
 | |
| 		vp, _ := rv2i(rv).(*map[int32]bool)
 | |
| 		if *vp == nil {
 | |
| 			*vp = make(map[int32]bool, decInferLen(containerLen, d.maxInitLen(), 5))
 | |
| 		}
 | |
| 		if containerLen != 0 {
 | |
| 			ft.DecMapInt32BoolL(*vp, containerLen, d)
 | |
| 		}
 | |
| 	} else if containerLen != 0 {
 | |
| 		ft.DecMapInt32BoolL(rv2i(rv).(map[int32]bool), containerLen, d)
 | |
| 	}
 | |
| 	d.mapEnd()
 | |
| }
 | |
| func (fastpathDTMsgpackIO) DecMapInt32BoolL(v map[int32]bool, containerLen int, d *decoderMsgpackIO) {
 | |
| 	if v == nil {
 | |
| 		halt.errorInt("cannot decode into nil map[int32]bool given stream length: ", int64(containerLen))
 | |
| 	}
 | |
| 	hasLen := containerLen >= 0
 | |
| 	for j := 0; d.containerNext(j, containerLen, hasLen); j++ {
 | |
| 		d.mapElemKey(j == 0)
 | |
| 		mk := int32(chkOvf.IntV(d.d.DecodeInt64(), 32))
 | |
| 		d.mapElemValue()
 | |
| 		v[mk] = d.d.DecodeBool()
 | |
| 	}
 | |
| }
 |