mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-14 06:15:45 +00:00
Make runtime opt in to deepcopy
This minimizes the number of functions generated. It also breaks the chain of symbol dependencies to pkg/conversion, so we can remove now-unreferenced (previously unused but referenced) conversion deep-copies.
This commit is contained in:
parent
dc10f10e48
commit
51394e862d
@ -1,185 +0,0 @@
|
||||
// +build !ignore_autogenerated
|
||||
|
||||
/*
|
||||
Copyright 2016 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
|
||||
|
||||
package conversion
|
||||
|
||||
import (
|
||||
forked_reflect "k8s.io/kubernetes/third_party/forked/reflect"
|
||||
reflect "reflect"
|
||||
)
|
||||
|
||||
func DeepCopy_conversion_Cloner(in Cloner, out *Cloner, c *Cloner) error {
|
||||
if in.deepCopyFuncs != nil {
|
||||
in, out := in.deepCopyFuncs, &out.deepCopyFuncs
|
||||
*out = make(map[reflect.Type]reflect.Value)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.deepCopyFuncs = nil
|
||||
}
|
||||
if in.generatedDeepCopyFuncs != nil {
|
||||
in, out := in.generatedDeepCopyFuncs, &out.generatedDeepCopyFuncs
|
||||
*out = make(map[reflect.Type]reflect.Value)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.generatedDeepCopyFuncs = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_conversion_ConversionFuncs(in ConversionFuncs, out *ConversionFuncs, c *Cloner) error {
|
||||
if in.fns != nil {
|
||||
in, out := in.fns, &out.fns
|
||||
*out = make(map[typePair]reflect.Value)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported typePair
|
||||
}
|
||||
} else {
|
||||
out.fns = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_conversion_Converter(in Converter, out *Converter, c *Cloner) error {
|
||||
if err := DeepCopy_conversion_ConversionFuncs(in.conversionFuncs, &out.conversionFuncs, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_conversion_ConversionFuncs(in.generatedConversionFuncs, &out.generatedConversionFuncs, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.genericConversions != nil {
|
||||
in, out := in.genericConversions, &out.genericConversions
|
||||
*out = make([]GenericConversionFunc, len(in))
|
||||
for i := range in {
|
||||
if newVal, err := c.DeepCopy(in[i]); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[i] = newVal.(GenericConversionFunc)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.genericConversions = nil
|
||||
}
|
||||
if in.ignoredConversions != nil {
|
||||
in, out := in.ignoredConversions, &out.ignoredConversions
|
||||
*out = make(map[typePair]struct{})
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported typePair
|
||||
}
|
||||
} else {
|
||||
out.ignoredConversions = nil
|
||||
}
|
||||
if in.structFieldDests != nil {
|
||||
in, out := in.structFieldDests, &out.structFieldDests
|
||||
*out = make(map[typeNamePair][]typeNamePair)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported typeNamePair
|
||||
}
|
||||
} else {
|
||||
out.structFieldDests = nil
|
||||
}
|
||||
if in.structFieldSources != nil {
|
||||
in, out := in.structFieldSources, &out.structFieldSources
|
||||
*out = make(map[typeNamePair][]typeNamePair)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported typeNamePair
|
||||
}
|
||||
} else {
|
||||
out.structFieldSources = nil
|
||||
}
|
||||
if in.defaultingFuncs != nil {
|
||||
in, out := in.defaultingFuncs, &out.defaultingFuncs
|
||||
*out = make(map[reflect.Type]reflect.Value)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.defaultingFuncs = nil
|
||||
}
|
||||
if in.defaultingInterfaces != nil {
|
||||
in, out := in.defaultingInterfaces, &out.defaultingInterfaces
|
||||
*out = make(map[reflect.Type]interface{})
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.defaultingInterfaces = nil
|
||||
}
|
||||
if in.inputFieldMappingFuncs != nil {
|
||||
in, out := in.inputFieldMappingFuncs, &out.inputFieldMappingFuncs
|
||||
*out = make(map[reflect.Type]FieldMappingFunc)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.inputFieldMappingFuncs = nil
|
||||
}
|
||||
if in.inputDefaultFlags != nil {
|
||||
in, out := in.inputDefaultFlags, &out.inputDefaultFlags
|
||||
*out = make(map[reflect.Type]FieldMatchingFlags)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.inputDefaultFlags = nil
|
||||
}
|
||||
if in.Debug == nil {
|
||||
out.Debug = nil
|
||||
} else if newVal, err := c.DeepCopy(in.Debug); err != nil {
|
||||
return err
|
||||
} else {
|
||||
out.Debug = newVal.(DebugLogger)
|
||||
}
|
||||
if in.nameFunc == nil {
|
||||
out.nameFunc = nil
|
||||
} else if newVal, err := c.DeepCopy(in.nameFunc); err != nil {
|
||||
return err
|
||||
} else {
|
||||
out.nameFunc = newVal.(func(reflect.Type) string)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_conversion_Equalities(in Equalities, out *Equalities, c *Cloner) error {
|
||||
if in.Equalities != nil {
|
||||
in, out := in.Equalities, &out.Equalities
|
||||
*out = make(forked_reflect.Equalities)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.Equalities = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_conversion_Meta(in Meta, out *Meta, c *Cloner) error {
|
||||
if in.KeyNameMapping == nil {
|
||||
out.KeyNameMapping = nil
|
||||
} else if newVal, err := c.DeepCopy(in.KeyNameMapping); err != nil {
|
||||
return err
|
||||
} else {
|
||||
out.KeyNameMapping = newVal.(FieldMappingFunc)
|
||||
}
|
||||
return nil
|
||||
}
|
@ -14,8 +14,6 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// +k8s:deepcopy-gen=package
|
||||
|
||||
// Package conversion provides go object versioning.
|
||||
//
|
||||
// Specifically, conversion provides a way for you to define multiple versions
|
||||
|
@ -21,39 +21,9 @@ limitations under the License.
|
||||
package runtime
|
||||
|
||||
import (
|
||||
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
|
||||
conversion "k8s.io/kubernetes/pkg/conversion"
|
||||
reflect "reflect"
|
||||
)
|
||||
|
||||
func DeepCopy_runtime_NoopDecoder(in NoopDecoder, out *NoopDecoder, c *conversion.Cloner) error {
|
||||
if in.Encoder == nil {
|
||||
out.Encoder = nil
|
||||
} else if newVal, err := c.DeepCopy(in.Encoder); err != nil {
|
||||
return err
|
||||
} else {
|
||||
out.Encoder = newVal.(Encoder)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_NoopEncoder(in NoopEncoder, out *NoopEncoder, c *conversion.Cloner) error {
|
||||
if in.Decoder == nil {
|
||||
out.Decoder = nil
|
||||
} else if newVal, err := c.DeepCopy(in.Decoder); err != nil {
|
||||
return err
|
||||
} else {
|
||||
out.Decoder = newVal.(Decoder)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_Pair(in Pair, out *Pair, c *conversion.Cloner) error {
|
||||
out.Name = in.Name
|
||||
out.Doc = in.Doc
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_RawExtension(in RawExtension, out *RawExtension, c *conversion.Cloner) error {
|
||||
if in.Raw != nil {
|
||||
in, out := in.Raw, &out.Raw
|
||||
@ -72,115 +42,6 @@ func DeepCopy_runtime_RawExtension(in RawExtension, out *RawExtension, c *conver
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_Scheme(in Scheme, out *Scheme, c *conversion.Cloner) error {
|
||||
if in.gvkToType != nil {
|
||||
in, out := in.gvkToType, &out.gvkToType
|
||||
*out = make(map[unversioned.GroupVersionKind]reflect.Type)
|
||||
for key, val := range in {
|
||||
if newVal, err := c.DeepCopy(val); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[key] = newVal.(reflect.Type)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.gvkToType = nil
|
||||
}
|
||||
if in.typeToGVK != nil {
|
||||
in, out := in.typeToGVK, &out.typeToGVK
|
||||
*out = make(map[reflect.Type][]unversioned.GroupVersionKind)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.typeToGVK = nil
|
||||
}
|
||||
if in.unversionedTypes != nil {
|
||||
in, out := in.unversionedTypes, &out.unversionedTypes
|
||||
*out = make(map[reflect.Type]unversioned.GroupVersionKind)
|
||||
for range in {
|
||||
// FIXME: Copying unassignable keys unsupported reflect.Type
|
||||
}
|
||||
} else {
|
||||
out.unversionedTypes = nil
|
||||
}
|
||||
if in.unversionedKinds != nil {
|
||||
in, out := in.unversionedKinds, &out.unversionedKinds
|
||||
*out = make(map[string]reflect.Type)
|
||||
for key, val := range in {
|
||||
if newVal, err := c.DeepCopy(val); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[key] = newVal.(reflect.Type)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.unversionedKinds = nil
|
||||
}
|
||||
if in.fieldLabelConversionFuncs != nil {
|
||||
in, out := in.fieldLabelConversionFuncs, &out.fieldLabelConversionFuncs
|
||||
*out = make(map[string]map[string]FieldLabelConversionFunc)
|
||||
for key, val := range in {
|
||||
if newVal, err := c.DeepCopy(val); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[key] = newVal.(map[string]FieldLabelConversionFunc)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.fieldLabelConversionFuncs = nil
|
||||
}
|
||||
if in.converter != nil {
|
||||
in, out := in.converter, &out.converter
|
||||
*out = new(conversion.Converter)
|
||||
if err := conversion.DeepCopy_conversion_Converter(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.converter = nil
|
||||
}
|
||||
if in.cloner != nil {
|
||||
in, out := in.cloner, &out.cloner
|
||||
*out = new(conversion.Cloner)
|
||||
if err := conversion.DeepCopy_conversion_Cloner(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.cloner = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_SerializerInfo(in SerializerInfo, out *SerializerInfo, c *conversion.Cloner) error {
|
||||
if in.Serializer == nil {
|
||||
out.Serializer = nil
|
||||
} else if newVal, err := c.DeepCopy(in.Serializer); err != nil {
|
||||
return err
|
||||
} else {
|
||||
out.Serializer = newVal.(Serializer)
|
||||
}
|
||||
out.EncodesAsText = in.EncodesAsText
|
||||
out.MediaType = in.MediaType
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_StreamSerializerInfo(in StreamSerializerInfo, out *StreamSerializerInfo, c *conversion.Cloner) error {
|
||||
if err := DeepCopy_runtime_SerializerInfo(in.SerializerInfo, &out.SerializerInfo, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Framer == nil {
|
||||
out.Framer = nil
|
||||
} else if newVal, err := c.DeepCopy(in.Framer); err != nil {
|
||||
return err
|
||||
} else {
|
||||
out.Framer = newVal.(Framer)
|
||||
}
|
||||
if err := DeepCopy_runtime_SerializerInfo(in.Embedded, &out.Embedded, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_TypeMeta(in TypeMeta, out *TypeMeta, c *conversion.Cloner) error {
|
||||
out.APIVersion = in.APIVersion
|
||||
out.Kind = in.Kind
|
||||
@ -200,71 +61,3 @@ func DeepCopy_runtime_Unknown(in Unknown, out *Unknown, c *conversion.Cloner) er
|
||||
out.ContentType = in.ContentType
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_Unstructured(in Unstructured, out *Unstructured, c *conversion.Cloner) error {
|
||||
if in.Object != nil {
|
||||
in, out := in.Object, &out.Object
|
||||
*out = make(map[string]interface{})
|
||||
for key, val := range in {
|
||||
if newVal, err := c.DeepCopy(val); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[key] = newVal.(interface{})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Object = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_UnstructuredList(in UnstructuredList, out *UnstructuredList, c *conversion.Cloner) error {
|
||||
if in.Object != nil {
|
||||
in, out := in.Object, &out.Object
|
||||
*out = make(map[string]interface{})
|
||||
for key, val := range in {
|
||||
if newVal, err := c.DeepCopy(val); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[key] = newVal.(interface{})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Object = nil
|
||||
}
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]*Unstructured, len(in))
|
||||
for i := range in {
|
||||
if newVal, err := c.DeepCopy(in[i]); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[i] = newVal.(*Unstructured)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_UnstructuredObjectConverter(in UnstructuredObjectConverter, out *UnstructuredObjectConverter, c *conversion.Cloner) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_runtime_VersionedObjects(in VersionedObjects, out *VersionedObjects, c *conversion.Cloner) error {
|
||||
if in.Objects != nil {
|
||||
in, out := in.Objects, &out.Objects
|
||||
*out = make([]Object, len(in))
|
||||
for i := range in {
|
||||
if newVal, err := c.DeepCopy(in[i]); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[i] = newVal.(Object)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Objects = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -42,6 +42,4 @@ limitations under the License.
|
||||
// As a bonus, a few common types useful from all api objects and versions
|
||||
// are provided in types.go.
|
||||
|
||||
// +k8s:deepcopy-gen=package
|
||||
|
||||
package runtime
|
||||
|
@ -69,6 +69,7 @@ option go_package = "runtime";
|
||||
// in the Object. (TODO: In the case where the object is of an unknown type, a
|
||||
// runtime.Unknown object will be created and stored.)
|
||||
//
|
||||
// +k8s:deepcopy-gen=true
|
||||
// +protobuf=true
|
||||
message RawExtension {
|
||||
// Raw is the underlying serialization of this object.
|
||||
@ -88,6 +89,7 @@ message RawExtension {
|
||||
// TypeMeta is provided here for convenience. You may use it directly from this package or define
|
||||
// your own with the same fields.
|
||||
//
|
||||
// +k8s:deepcopy-gen=true
|
||||
// +protobuf=true
|
||||
message TypeMeta {
|
||||
optional string apiVersion = 1;
|
||||
@ -101,6 +103,7 @@ message TypeMeta {
|
||||
// TODO: Make this object have easy access to field based accessors and settors for
|
||||
// metadata and field mutatation.
|
||||
//
|
||||
// +k8s:deepcopy-gen=true
|
||||
// +protobuf=true
|
||||
message Unknown {
|
||||
optional TypeMeta typeMeta = 1;
|
||||
|
@ -40,6 +40,7 @@ import (
|
||||
// TypeMeta is provided here for convenience. You may use it directly from this package or define
|
||||
// your own with the same fields.
|
||||
//
|
||||
// +k8s:deepcopy-gen=true
|
||||
// +protobuf=true
|
||||
type TypeMeta struct {
|
||||
APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty" protobuf:"bytes,1,opt,name=apiVersion"`
|
||||
@ -92,6 +93,7 @@ const (
|
||||
// in the Object. (TODO: In the case where the object is of an unknown type, a
|
||||
// runtime.Unknown object will be created and stored.)
|
||||
//
|
||||
// +k8s:deepcopy-gen=true
|
||||
// +protobuf=true
|
||||
type RawExtension struct {
|
||||
// Raw is the underlying serialization of this object.
|
||||
@ -109,6 +111,7 @@ type RawExtension struct {
|
||||
// TODO: Make this object have easy access to field based accessors and settors for
|
||||
// metadata and field mutatation.
|
||||
//
|
||||
// +k8s:deepcopy-gen=true
|
||||
// +protobuf=true
|
||||
type Unknown struct {
|
||||
TypeMeta `json:",inline" protobuf:"bytes,1,opt,name=typeMeta"`
|
||||
|
Loading…
Reference in New Issue
Block a user