INNER CODE UNIT · Go
ParseChild
ozontech/file.d · cfg/config.go:385
func ParseChild(parent reflect.Value, v reflect.Value, values map[string]int) error {
if !v.CanAddr() {
return nil
}
for i := range v.NumField() {
// set parent value only if child has zero value
if !v.Field(i).IsZero() {
continue
}
name := v.Type().Field(i).Name
val := parent.FieldByName(name)
if val.CanAddr() {
v.Field(i).Set(val)
}
}