Make it possible to detect field changes when mixedInstancePolicy is removed

This commit is contained in:
AkiraFukushima 2021-04-18 17:51:18 +09:00
parent 27f05ca939
commit 9a5f408f48
No known key found for this signature in database
GPG Key ID: B6E51BAC4DE1A957
1 changed files with 5 additions and 3 deletions

View File

@ -302,11 +302,16 @@ func buildChangeList(a, e, changes Task) ([]change, error) {
}
fieldValC := valC.Field(i)
fieldValE := valE.Field(i)
fieldValA := valA.Field(i)
changed := true
switch fieldValC.Kind() {
case reflect.Ptr, reflect.Interface, reflect.Slice, reflect.Map:
changed = !fieldValC.IsNil()
if fieldValC.IsNil() && !fieldValA.IsNil() && fieldValE.IsNil() {
changed = true
}
case reflect.String:
changed = fieldValC.Interface().(string) != ""
@ -320,12 +325,9 @@ func buildChangeList(a, e, changes Task) ([]change, error) {
continue
}
fieldValE := valE.Field(i)
description := ""
ignored := false
if fieldValE.CanInterface() {
fieldValA := valA.Field(i)
switch fieldValE.Interface().(type) {
//case SimpleUnit: