mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 12:18:16 +00:00 
			
		
		
		
	Merge pull request #86512 from yutedz/to-unstruct
Remove ineffective calls in toUnstructured
This commit is contained in:
		@@ -72,9 +72,6 @@ var (
 | 
				
			|||||||
	unmarshalerType        = reflect.TypeOf(new(encodingjson.Unmarshaler)).Elem()
 | 
						unmarshalerType        = reflect.TypeOf(new(encodingjson.Unmarshaler)).Elem()
 | 
				
			||||||
	mapStringInterfaceType = reflect.TypeOf(map[string]interface{}{})
 | 
						mapStringInterfaceType = reflect.TypeOf(map[string]interface{}{})
 | 
				
			||||||
	stringType             = reflect.TypeOf(string(""))
 | 
						stringType             = reflect.TypeOf(string(""))
 | 
				
			||||||
	int64Type              = reflect.TypeOf(int64(0))
 | 
					 | 
				
			||||||
	float64Type            = reflect.TypeOf(float64(0))
 | 
					 | 
				
			||||||
	boolType               = reflect.TypeOf(bool(false))
 | 
					 | 
				
			||||||
	fieldCache             = newFieldsCache()
 | 
						fieldCache             = newFieldsCache()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// DefaultUnstructuredConverter performs unstructured to Go typed object conversions.
 | 
						// DefaultUnstructuredConverter performs unstructured to Go typed object conversions.
 | 
				
			||||||
@@ -572,24 +569,15 @@ func toUnstructured(sv, dv reflect.Value) error {
 | 
				
			|||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	st, dt := sv.Type(), dv.Type()
 | 
						st := sv.Type()
 | 
				
			||||||
	switch st.Kind() {
 | 
						switch st.Kind() {
 | 
				
			||||||
	case reflect.String:
 | 
						case reflect.String:
 | 
				
			||||||
		if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 {
 | 
					 | 
				
			||||||
			dv.Set(reflect.New(stringType))
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		dv.Set(reflect.ValueOf(sv.String()))
 | 
							dv.Set(reflect.ValueOf(sv.String()))
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	case reflect.Bool:
 | 
						case reflect.Bool:
 | 
				
			||||||
		if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 {
 | 
					 | 
				
			||||||
			dv.Set(reflect.New(boolType))
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		dv.Set(reflect.ValueOf(sv.Bool()))
 | 
							dv.Set(reflect.ValueOf(sv.Bool()))
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
 | 
						case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
 | 
				
			||||||
		if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 {
 | 
					 | 
				
			||||||
			dv.Set(reflect.New(int64Type))
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		dv.Set(reflect.ValueOf(sv.Int()))
 | 
							dv.Set(reflect.ValueOf(sv.Int()))
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
 | 
						case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
 | 
				
			||||||
@@ -597,15 +585,9 @@ func toUnstructured(sv, dv reflect.Value) error {
 | 
				
			|||||||
		if uVal > math.MaxInt64 {
 | 
							if uVal > math.MaxInt64 {
 | 
				
			||||||
			return fmt.Errorf("unsigned value %d does not fit into int64 (overflow)", uVal)
 | 
								return fmt.Errorf("unsigned value %d does not fit into int64 (overflow)", uVal)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 {
 | 
					 | 
				
			||||||
			dv.Set(reflect.New(int64Type))
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		dv.Set(reflect.ValueOf(int64(uVal)))
 | 
							dv.Set(reflect.ValueOf(int64(uVal)))
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	case reflect.Float32, reflect.Float64:
 | 
						case reflect.Float32, reflect.Float64:
 | 
				
			||||||
		if dt.Kind() == reflect.Interface && dv.NumMethod() == 0 {
 | 
					 | 
				
			||||||
			dv.Set(reflect.New(float64Type))
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		dv.Set(reflect.ValueOf(sv.Float()))
 | 
							dv.Set(reflect.ValueOf(sv.Float()))
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	case reflect.Map:
 | 
						case reflect.Map:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user