With kubernetes 1.18 release of client-go, signatures on methods in generated clientsets, dynamic, metadata, and scale clients have been modified to accept context.Context as a first argument. Signatures of Create, Update, and Patch methods have been updated to accept CreateOptions, UpdateOptions and PatchOptions respectively. Signatures of Delete and DeleteCollection methods now accept DeleteOptions by value instead of by reference. These changes are now accommodated with this PR and client-go and dependencies are updated to v1.18.0 Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
26 lines
801 B
Go
26 lines
801 B
Go
// Copyright 2017, The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE.md file.
|
|
|
|
// +build !purego
|
|
|
|
package cmp
|
|
|
|
import (
|
|
"reflect"
|
|
"unsafe"
|
|
)
|
|
|
|
const supportExporters = true
|
|
|
|
// retrieveUnexportedField uses unsafe to forcibly retrieve any field from
|
|
// a struct such that the value has read-write permissions.
|
|
//
|
|
// The parent struct, v, must be addressable, while f must be a StructField
|
|
// describing the field to retrieve.
|
|
func retrieveUnexportedField(v reflect.Value, f reflect.StructField) reflect.Value {
|
|
// See https://github.com/google/go-cmp/issues/167 for discussion of the
|
|
// following expression.
|
|
return reflect.NewAt(f.Type, unsafe.Pointer(uintptr(unsafe.Pointer(v.UnsafeAddr()))+f.Offset)).Elem()
|
|
}
|