in getdeps/main.go [86:104]
func mergeFields(dst reflect.Value, src reflect.Value) {
for i := 0; i < dst.NumField(); i++ {
sf, df := src.Field(i), dst.Field(i)
if sf.IsZero() {
continue
}
if sf.Kind() == reflect.Ptr {
if sf.Elem().IsZero() {
// Create a nil pointer of field's type.
nilValue := reflect.New(sf.Type()).Elem()
df.Set(nilValue)
} else {
df.Set(sf)
}
} else {
df.Set(sf)
}
}
}