2
									
								
								vendor/github.com/json-iterator/go/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/json-iterator/go/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,8 +8,6 @@ | ||||
|  | ||||
| A high-performance 100% compatible drop-in replacement of "encoding/json" | ||||
|  | ||||
| You can also use thrift like JSON using [thrift-iterator](https://github.com/thrift-iterator/go) | ||||
|  | ||||
| # Benchmark | ||||
|  | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/json-iterator/go/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/json-iterator/go/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,6 +6,6 @@ require ( | ||||
| 	github.com/davecgh/go-spew v1.1.1 | ||||
| 	github.com/google/gofuzz v1.0.0 | ||||
| 	github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 | ||||
| 	github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 | ||||
| 	github.com/modern-go/reflect2 v1.0.2 | ||||
| 	github.com/stretchr/testify v1.3.0 | ||||
| ) | ||||
|   | ||||
							
								
								
									
										5
									
								
								vendor/github.com/json-iterator/go/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/json-iterator/go/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -5,11 +5,10 @@ github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= | ||||
| github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | ||||
| github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= | ||||
| github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | ||||
| github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= | ||||
| github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= | ||||
| github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= | ||||
| github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= | ||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||
| github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= | ||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= | ||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/modern-go/reflect2/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/modern-go/reflect2/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| language: go | ||||
|  | ||||
| go: | ||||
|   - 1.8.x | ||||
|   - 1.9.x | ||||
|   - 1.x | ||||
|  | ||||
| before_install: | ||||
|   | ||||
							
								
								
									
										8
									
								
								vendor/github.com/modern-go/reflect2/Gopkg.lock
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/modern-go/reflect2/Gopkg.lock
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,15 +1,9 @@ | ||||
| # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. | ||||
|  | ||||
|  | ||||
| [[projects]] | ||||
|   name = "github.com/modern-go/concurrent" | ||||
|   packages = ["."] | ||||
|   revision = "e0a39a4cb4216ea8db28e22a69f4ec25610d513a" | ||||
|   version = "1.0.0" | ||||
|  | ||||
| [solve-meta] | ||||
|   analyzer-name = "dep" | ||||
|   analyzer-version = 1 | ||||
|   inputs-digest = "daee8a88b3498b61c5640056665b8b9eea062006f5e596bbb6a3ed9119a11ec7" | ||||
|   input-imports = [] | ||||
|   solver-name = "gps-cdcl" | ||||
|   solver-version = 1 | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/modern-go/reflect2/Gopkg.toml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/modern-go/reflect2/Gopkg.toml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -26,10 +26,6 @@ | ||||
|  | ||||
| ignored = [] | ||||
|  | ||||
| [[constraint]] | ||||
|   name = "github.com/modern-go/concurrent" | ||||
|   version = "1.0.0" | ||||
|  | ||||
| [prune] | ||||
|   go-tests = true | ||||
|   unused-packages = true | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/github.com/modern-go/reflect2/go.mod
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/modern-go/reflect2/go.mod
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| module github.com/modern-go/reflect2 | ||||
|  | ||||
| go 1.12 | ||||
							
								
								
									
										23
									
								
								vendor/github.com/modern-go/reflect2/go_above_118.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								vendor/github.com/modern-go/reflect2/go_above_118.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| //+build go1.18 | ||||
|  | ||||
| package reflect2 | ||||
|  | ||||
| import ( | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| // m escapes into the return value, but the caller of mapiterinit | ||||
| // doesn't let the return value escape. | ||||
| //go:noescape | ||||
| //go:linkname mapiterinit reflect.mapiterinit | ||||
| func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer, it *hiter) | ||||
|  | ||||
| func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator { | ||||
| 	var it hiter | ||||
| 	mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj), &it) | ||||
| 	return &UnsafeMapIterator{ | ||||
| 		hiter:      &it, | ||||
| 		pKeyRType:  type2.pKeyRType, | ||||
| 		pElemRType: type2.pElemRType, | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										8
									
								
								vendor/github.com/modern-go/reflect2/go_above_17.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/modern-go/reflect2/go_above_17.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,8 +0,0 @@ | ||||
| //+build go1.7 | ||||
|  | ||||
| package reflect2 | ||||
|  | ||||
| import "unsafe" | ||||
|  | ||||
| //go:linkname resolveTypeOff reflect.resolveTypeOff | ||||
| func resolveTypeOff(rtype unsafe.Pointer, off int32) unsafe.Pointer | ||||
							
								
								
									
										3
									
								
								vendor/github.com/modern-go/reflect2/go_above_19.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/modern-go/reflect2/go_above_19.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,6 +6,9 @@ import ( | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| //go:linkname resolveTypeOff reflect.resolveTypeOff | ||||
| func resolveTypeOff(rtype unsafe.Pointer, off int32) unsafe.Pointer | ||||
|  | ||||
| //go:linkname makemap reflect.makemap | ||||
| func makemap(rtype unsafe.Pointer, cap int) (m unsafe.Pointer) | ||||
|  | ||||
|   | ||||
							
								
								
									
										21
									
								
								vendor/github.com/modern-go/reflect2/go_below_118.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								vendor/github.com/modern-go/reflect2/go_below_118.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| //+build !go1.18 | ||||
|  | ||||
| package reflect2 | ||||
|  | ||||
| import ( | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| // m escapes into the return value, but the caller of mapiterinit | ||||
| // doesn't let the return value escape. | ||||
| //go:noescape | ||||
| //go:linkname mapiterinit reflect.mapiterinit | ||||
| func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer) (val *hiter) | ||||
|  | ||||
| func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator { | ||||
| 	return &UnsafeMapIterator{ | ||||
| 		hiter:      mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj)), | ||||
| 		pKeyRType:  type2.pKeyRType, | ||||
| 		pElemRType: type2.pElemRType, | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										9
									
								
								vendor/github.com/modern-go/reflect2/go_below_17.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/github.com/modern-go/reflect2/go_below_17.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,9 +0,0 @@ | ||||
| //+build !go1.7 | ||||
|  | ||||
| package reflect2 | ||||
|  | ||||
| import "unsafe" | ||||
|  | ||||
| func resolveTypeOff(rtype unsafe.Pointer, off int32) unsafe.Pointer { | ||||
| 	return nil | ||||
| } | ||||
							
								
								
									
										14
									
								
								vendor/github.com/modern-go/reflect2/go_below_19.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/modern-go/reflect2/go_below_19.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,14 +0,0 @@ | ||||
| //+build !go1.9 | ||||
|  | ||||
| package reflect2 | ||||
|  | ||||
| import ( | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| //go:linkname makemap reflect.makemap | ||||
| func makemap(rtype unsafe.Pointer) (m unsafe.Pointer) | ||||
|  | ||||
| func makeMapWithSize(rtype unsafe.Pointer, cap int) unsafe.Pointer { | ||||
| 	return makemap(rtype) | ||||
| } | ||||
							
								
								
									
										20
									
								
								vendor/github.com/modern-go/reflect2/reflect2.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/modern-go/reflect2/reflect2.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,8 +1,9 @@ | ||||
| package reflect2 | ||||
|  | ||||
| import ( | ||||
| 	"github.com/modern-go/concurrent" | ||||
| 	"reflect" | ||||
| 	"runtime" | ||||
| 	"sync" | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| @@ -130,13 +131,13 @@ var ConfigSafe = Config{UseSafeImplementation: true}.Froze() | ||||
|  | ||||
| type frozenConfig struct { | ||||
| 	useSafeImplementation bool | ||||
| 	cache                 *concurrent.Map | ||||
| 	cache                 *sync.Map | ||||
| } | ||||
|  | ||||
| func (cfg Config) Froze() *frozenConfig { | ||||
| 	return &frozenConfig{ | ||||
| 		useSafeImplementation: cfg.UseSafeImplementation, | ||||
| 		cache: concurrent.NewMap(), | ||||
| 		cache:                 new(sync.Map), | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -288,11 +289,12 @@ func NoEscape(p unsafe.Pointer) unsafe.Pointer { | ||||
| } | ||||
|  | ||||
| func UnsafeCastString(str string) []byte { | ||||
| 	bytes := make([]byte, 0) | ||||
| 	stringHeader := (*reflect.StringHeader)(unsafe.Pointer(&str)) | ||||
| 	sliceHeader := &reflect.SliceHeader{ | ||||
| 		Data: stringHeader.Data, | ||||
| 		Cap: stringHeader.Len, | ||||
| 		Len: stringHeader.Len, | ||||
| 	} | ||||
| 	return *(*[]byte)(unsafe.Pointer(sliceHeader)) | ||||
| 	sliceHeader := (*reflect.SliceHeader)(unsafe.Pointer(&bytes)) | ||||
| 	sliceHeader.Data = stringHeader.Data | ||||
| 	sliceHeader.Cap = stringHeader.Len | ||||
| 	sliceHeader.Len = stringHeader.Len | ||||
| 	runtime.KeepAlive(str) | ||||
| 	return bytes | ||||
| } | ||||
|   | ||||
							
								
								
									
										12
									
								
								vendor/github.com/modern-go/reflect2/test.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/modern-go/reflect2/test.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,12 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| set -e | ||||
| echo "" > coverage.txt | ||||
|  | ||||
| for d in $(go list github.com/modern-go/reflect2-tests/... | grep -v vendor); do | ||||
|     go test -coverprofile=profile.out -coverpkg=github.com/modern-go/reflect2 $d | ||||
|     if [ -f profile.out ]; then | ||||
|         cat profile.out >> coverage.txt | ||||
|         rm profile.out | ||||
|     fi | ||||
| done | ||||
							
								
								
									
										51
									
								
								vendor/github.com/modern-go/reflect2/type_map.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								vendor/github.com/modern-go/reflect2/type_map.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,17 +1,13 @@ | ||||
| // +build !gccgo | ||||
|  | ||||
| package reflect2 | ||||
|  | ||||
| import ( | ||||
| 	"reflect" | ||||
| 	"runtime" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| // typelinks1 for 1.5 ~ 1.6 | ||||
| //go:linkname typelinks1 reflect.typelinks | ||||
| func typelinks1() [][]unsafe.Pointer | ||||
|  | ||||
| // typelinks2 for 1.7 ~ | ||||
| //go:linkname typelinks2 reflect.typelinks | ||||
| func typelinks2() (sections []unsafe.Pointer, offset [][]int32) | ||||
| @@ -27,49 +23,10 @@ func discoverTypes() { | ||||
| 	types = make(map[string]reflect.Type) | ||||
| 	packages = make(map[string]map[string]reflect.Type) | ||||
|  | ||||
| 	ver := runtime.Version() | ||||
| 	if ver == "go1.5" || strings.HasPrefix(ver, "go1.5.") { | ||||
| 		loadGo15Types() | ||||
| 	} else if ver == "go1.6" || strings.HasPrefix(ver, "go1.6.") { | ||||
| 		loadGo15Types() | ||||
| 	} else { | ||||
| 		loadGo17Types() | ||||
| 	} | ||||
| 	loadGoTypes() | ||||
| } | ||||
|  | ||||
| func loadGo15Types() { | ||||
| 	var obj interface{} = reflect.TypeOf(0) | ||||
| 	typePtrss := typelinks1() | ||||
| 	for _, typePtrs := range typePtrss { | ||||
| 		for _, typePtr := range typePtrs { | ||||
| 			(*emptyInterface)(unsafe.Pointer(&obj)).word = typePtr | ||||
| 			typ := obj.(reflect.Type) | ||||
| 			if typ.Kind() == reflect.Ptr && typ.Elem().Kind() == reflect.Struct { | ||||
| 				loadedType := typ.Elem() | ||||
| 				pkgTypes := packages[loadedType.PkgPath()] | ||||
| 				if pkgTypes == nil { | ||||
| 					pkgTypes = map[string]reflect.Type{} | ||||
| 					packages[loadedType.PkgPath()] = pkgTypes | ||||
| 				} | ||||
| 				types[loadedType.String()] = loadedType | ||||
| 				pkgTypes[loadedType.Name()] = loadedType | ||||
| 			} | ||||
| 			if typ.Kind() == reflect.Slice && typ.Elem().Kind() == reflect.Ptr && | ||||
| 				typ.Elem().Elem().Kind() == reflect.Struct { | ||||
| 				loadedType := typ.Elem().Elem() | ||||
| 				pkgTypes := packages[loadedType.PkgPath()] | ||||
| 				if pkgTypes == nil { | ||||
| 					pkgTypes = map[string]reflect.Type{} | ||||
| 					packages[loadedType.PkgPath()] = pkgTypes | ||||
| 				} | ||||
| 				types[loadedType.String()] = loadedType | ||||
| 				pkgTypes[loadedType.Name()] = loadedType | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func loadGo17Types() { | ||||
| func loadGoTypes() { | ||||
| 	var obj interface{} = reflect.TypeOf(0) | ||||
| 	sections, offset := typelinks2() | ||||
| 	for i, offs := range offset { | ||||
|   | ||||
							
								
								
									
										26
									
								
								vendor/github.com/modern-go/reflect2/unsafe_link.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/github.com/modern-go/reflect2/unsafe_link.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -19,18 +19,12 @@ func typedslicecopy(elemType unsafe.Pointer, dst, src sliceHeader) int | ||||
|  | ||||
| //go:linkname mapassign reflect.mapassign | ||||
| //go:noescape | ||||
| func mapassign(rtype unsafe.Pointer, m unsafe.Pointer, key, val unsafe.Pointer) | ||||
| func mapassign(rtype unsafe.Pointer, m unsafe.Pointer, key unsafe.Pointer, val unsafe.Pointer) | ||||
|  | ||||
| //go:linkname mapaccess reflect.mapaccess | ||||
| //go:noescape | ||||
| func mapaccess(rtype unsafe.Pointer, m unsafe.Pointer, key unsafe.Pointer) (val unsafe.Pointer) | ||||
|  | ||||
| // m escapes into the return value, but the caller of mapiterinit | ||||
| // doesn't let the return value escape. | ||||
| //go:noescape | ||||
| //go:linkname mapiterinit reflect.mapiterinit | ||||
| func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer) *hiter | ||||
|  | ||||
| //go:noescape | ||||
| //go:linkname mapiternext reflect.mapiternext | ||||
| func mapiternext(it *hiter) | ||||
| @@ -42,9 +36,21 @@ func ifaceE2I(rtype unsafe.Pointer, src interface{}, dst unsafe.Pointer) | ||||
| // If you modify hiter, also change cmd/internal/gc/reflect.go to indicate | ||||
| // the layout of this structure. | ||||
| type hiter struct { | ||||
| 	key   unsafe.Pointer // Must be in first position.  Write nil to indicate iteration end (see cmd/internal/gc/range.go). | ||||
| 	value unsafe.Pointer // Must be in second position (see cmd/internal/gc/range.go). | ||||
| 	// rest fields are ignored | ||||
| 	key         unsafe.Pointer | ||||
| 	value       unsafe.Pointer | ||||
| 	t           unsafe.Pointer | ||||
| 	h           unsafe.Pointer | ||||
| 	buckets     unsafe.Pointer | ||||
| 	bptr        unsafe.Pointer | ||||
| 	overflow    *[]unsafe.Pointer | ||||
| 	oldoverflow *[]unsafe.Pointer | ||||
| 	startBucket uintptr | ||||
| 	offset      uint8 | ||||
| 	wrapped     bool | ||||
| 	B           uint8 | ||||
| 	i           uint8 | ||||
| 	bucket      uintptr | ||||
| 	checkBucket uintptr | ||||
| } | ||||
|  | ||||
| // add returns p+x. | ||||
|   | ||||
							
								
								
									
										8
									
								
								vendor/github.com/modern-go/reflect2/unsafe_map.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/modern-go/reflect2/unsafe_map.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -107,14 +107,6 @@ func (type2 *UnsafeMapType) Iterate(obj interface{}) MapIterator { | ||||
| 	return type2.UnsafeIterate(objEFace.data) | ||||
| } | ||||
|  | ||||
| func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator { | ||||
| 	return &UnsafeMapIterator{ | ||||
| 		hiter:      mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj)), | ||||
| 		pKeyRType:  type2.pKeyRType, | ||||
| 		pElemRType: type2.pElemRType, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| type UnsafeMapIterator struct { | ||||
| 	*hiter | ||||
| 	pKeyRType  unsafe.Pointer | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Aditi Sharma
					Aditi Sharma