@@ -578,27 +578,25 @@ fn make_cluster(cadd: &Hash, path: Option<&BlockPath>) -> Result<ClusterInfoBuil
578578 let mut cnew = ClusterInfo :: builder ( )
579579 . description ( opt_interpolate ( & path, cadd. get_str ( "description" ) ?) )
580580 . derived_from ( opt_interpolate ( & path, cadd. get_str ( "derivedFrom" ) ?) )
581- . default_register_properties ( get_register_properties ( cadd) ?)
582- . children ( match cadd. get_hash ( "registers" ) ? {
583- Some ( h) => {
584- let mut ch = Vec :: new ( ) ;
585- for ( rname, val) in h {
586- ch. push ( RegisterCluster :: Register ( {
587- let radd = val. hash ( ) ?;
588- let reg = make_register ( radd, None ) ?
589- . name ( rname. str ( ) ?. into ( ) )
590- . build ( VAL_LVL ) ?;
591- if let Some ( dim) = make_dim_element ( radd) ? {
592- reg. array ( dim. build ( VAL_LVL ) ?)
593- } else {
594- reg. single ( )
595- }
596- } ) ) ;
581+ . default_register_properties ( get_register_properties ( cadd) ?) ;
582+
583+ if let Some ( h) = cadd. get_hash ( "registers" ) ? {
584+ let mut ch = Vec :: new ( ) ;
585+ for ( rname, val) in h {
586+ ch. push ( RegisterCluster :: Register ( {
587+ let radd = val. hash ( ) ?;
588+ let reg = make_register ( radd, None ) ?
589+ . name ( rname. str ( ) ?. into ( ) )
590+ . build ( VAL_LVL ) ?;
591+ if let Some ( dim) = make_dim_element ( radd) ? {
592+ reg. array ( dim. build ( VAL_LVL ) ?)
593+ } else {
594+ reg. single ( )
597595 }
598- ch
599- }
600- _ => Vec :: new ( ) ,
601- } ) ;
596+ } ) ) ;
597+ }
598+ cnew = cnew . children ( ch ) ;
599+ }
602600
603601 if let Some ( name) = cadd. get_str ( "name" ) ? {
604602 cnew = cnew. name ( name. into ( ) ) ;
0 commit comments