forked from TrueCloudLab/rclone
vendor: update all dependencies
This commit is contained in:
parent
61ff7306ae
commit
696d012c05
952 changed files with 121647 additions and 34334 deletions
59
vendor/github.com/modern-go/reflect2/unsafe_struct.go
generated
vendored
Normal file
59
vendor/github.com/modern-go/reflect2/unsafe_struct.go
generated
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
package reflect2
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
type UnsafeStructType struct {
|
||||
unsafeType
|
||||
likePtr bool
|
||||
}
|
||||
|
||||
func newUnsafeStructType(cfg *frozenConfig, type1 reflect.Type) *UnsafeStructType {
|
||||
return &UnsafeStructType{
|
||||
unsafeType: *newUnsafeType(cfg, type1),
|
||||
likePtr: likePtrType(type1),
|
||||
}
|
||||
}
|
||||
|
||||
func (type2 *UnsafeStructType) LikePtr() bool {
|
||||
return type2.likePtr
|
||||
}
|
||||
|
||||
func (type2 *UnsafeStructType) Indirect(obj interface{}) interface{} {
|
||||
objEFace := unpackEFace(obj)
|
||||
assertType("Type.Indirect argument 1", type2.ptrRType, objEFace.rtype)
|
||||
return type2.UnsafeIndirect(objEFace.data)
|
||||
}
|
||||
|
||||
func (type2 *UnsafeStructType) UnsafeIndirect(ptr unsafe.Pointer) interface{} {
|
||||
if type2.likePtr {
|
||||
return packEFace(type2.rtype, *(*unsafe.Pointer)(ptr))
|
||||
}
|
||||
return packEFace(type2.rtype, ptr)
|
||||
}
|
||||
|
||||
func (type2 *UnsafeStructType) FieldByName(name string) StructField {
|
||||
structField, found := type2.Type.FieldByName(name)
|
||||
if !found {
|
||||
return nil
|
||||
}
|
||||
return newUnsafeStructField(type2, structField)
|
||||
}
|
||||
|
||||
func (type2 *UnsafeStructType) Field(i int) StructField {
|
||||
return newUnsafeStructField(type2, type2.Type.Field(i))
|
||||
}
|
||||
|
||||
func (type2 *UnsafeStructType) FieldByIndex(index []int) StructField {
|
||||
return newUnsafeStructField(type2, type2.Type.FieldByIndex(index))
|
||||
}
|
||||
|
||||
func (type2 *UnsafeStructType) FieldByNameFunc(match func(string) bool) StructField {
|
||||
structField, found := type2.Type.FieldByNameFunc(match)
|
||||
if !found {
|
||||
panic("field match condition not found in " + type2.Type.String())
|
||||
}
|
||||
return newUnsafeStructField(type2, structField)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue