@@ -377,6 +377,7 @@ fn modify_dim_element<T: Clone>(
377377fn make_field ( fadd : & Hash ) -> Result < FieldInfoBuilder > {
378378 let mut fnew = FieldInfo :: builder ( )
379379 . description ( fadd. get_string ( "description" ) ?)
380+ . derived_from ( fadd. get_string ( "derivedFrom" ) ?)
380381 . access ( fadd. get_str ( "access" ) ?. and_then ( Access :: parse_str) ) ;
381382
382383 if let Some ( name) = fadd. get_str ( "name" ) ? {
@@ -396,6 +397,7 @@ fn make_register(radd: &Hash) -> Result<RegisterInfoBuilder> {
396397 let mut rnew = RegisterInfo :: builder ( )
397398 . display_name ( radd. get_string ( "displayName" ) ?)
398399 . description ( radd. get_string ( "description" ) ?)
400+ . derived_from ( radd. get_string ( "derivedFrom" ) ?)
399401 . alternate_group ( radd. get_string ( "alternateGroup" ) ?)
400402 . alternate_register ( radd. get_string ( "alternateRegister" ) ?)
401403 . properties ( get_register_properties ( radd) ?)
@@ -427,6 +429,7 @@ fn make_register(radd: &Hash) -> Result<RegisterInfoBuilder> {
427429fn make_cluster ( cadd : & Hash ) -> Result < ClusterInfoBuilder > {
428430 let mut cnew = ClusterInfo :: builder ( )
429431 . description ( cadd. get_string ( "description" ) ?)
432+ . derived_from ( cadd. get_string ( "derivedFrom" ) ?)
430433 . default_register_properties ( get_register_properties ( cadd) ?)
431434 . children ( match cadd. get_hash ( "registers" ) ? {
432435 Some ( h) => {
@@ -469,6 +472,7 @@ fn make_peripheral(padd: &Hash, modify: bool) -> Result<PeripheralInfoBuilder> {
469472 . display_name ( padd. get_string ( "displayName" ) ?)
470473 . version ( padd. get_string ( "version" ) ?)
471474 . description ( padd. get_string ( "description" ) ?)
475+ . derived_from ( padd. get_string ( "derivedFrom" ) ?)
472476 . group_name ( padd. get_string ( "groupName" ) ?)
473477 . interrupt ( if !modify {
474478 match padd. get_hash ( "interrupts" ) ? {
0 commit comments