@@ -10,10 +10,7 @@ use proc_macro2::{Ident, Punct, Spacing, Span, TokenStream};
10
10
use quote:: { quote, ToTokens } ;
11
11
use syn:: { parse_str, Token } ;
12
12
13
- use crate :: util:: {
14
- self , handle_cluster_error, handle_reg_error, unsuffixed, Config , FullName , ToSanitizedCase ,
15
- BITS_PER_BYTE ,
16
- } ;
13
+ use crate :: util:: { self , unsuffixed, Config , FullName , ToSanitizedCase , BITS_PER_BYTE } ;
17
14
use anyhow:: { anyhow, bail, Context , Result } ;
18
15
19
16
use crate :: generate:: register;
@@ -570,26 +567,24 @@ fn expand(ercs: &[RegisterCluster], config: &Config) -> Result<Vec<RegisterBlock
570
567
debug ! ( "Expanding registers or clusters into Register Block Fields" ) ;
571
568
for erc in ercs {
572
569
match & erc {
573
- RegisterCluster :: Register ( register) => match expand_register ( register, config) {
574
- Ok ( expanded_reg) => {
575
- trace ! ( "Register: {}" , register. name) ;
576
- ercs_expanded. extend ( expanded_reg) ;
577
- }
578
- Err ( e) => {
579
- let res = Err ( e) ;
580
- return handle_reg_error ( "Error expanding register" , register, res) ;
581
- }
582
- } ,
583
- RegisterCluster :: Cluster ( cluster) => match expand_cluster ( cluster, config) {
584
- Ok ( expanded_cluster) => {
585
- trace ! ( "Cluster: {}" , cluster. name) ;
586
- ercs_expanded. extend ( expanded_cluster) ;
587
- }
588
- Err ( e) => {
589
- let res = Err ( e) ;
590
- return handle_cluster_error ( "Error expanding register cluster" , cluster, res) ;
591
- }
592
- } ,
570
+ RegisterCluster :: Register ( register) => {
571
+ let reg_name = & register. name ;
572
+ let expanded_reg = expand_register ( register, config) . with_context ( || {
573
+ let descrip = register. description . as_deref ( ) . unwrap_or ( "No description" ) ;
574
+ format ! ( "Error expanding register\n Name: {reg_name}\n Description: {descrip}" )
575
+ } ) ?;
576
+ trace ! ( "Register: {reg_name}" ) ;
577
+ ercs_expanded. extend ( expanded_reg) ;
578
+ }
579
+ RegisterCluster :: Cluster ( cluster) => {
580
+ let cluster_name = & cluster. name ;
581
+ let expanded_cluster = expand_cluster ( cluster, config) . with_context ( || {
582
+ let descrip = cluster. description . as_deref ( ) . unwrap_or ( "No description" ) ;
583
+ format ! ( "Error expanding cluster\n Name: {cluster_name}\n Description: {descrip}" )
584
+ } ) ?;
585
+ trace ! ( "Cluster: {cluster_name}" ) ;
586
+ ercs_expanded. extend ( expanded_cluster) ;
587
+ }
593
588
} ;
594
589
}
595
590
@@ -880,14 +875,17 @@ fn render_ercs(
880
875
if let Some ( dpath) = dpath {
881
876
rpath = derive_register ( reg, & dpath, path, index) ?;
882
877
}
883
- let rpath = rpath. unwrap_or_else ( || path. new_register ( & reg. name ) ) ;
884
- match register:: render ( reg, & rpath, index, config) {
885
- Ok ( rendered_reg) => mod_items. extend ( rendered_reg) ,
886
- Err ( e) => {
887
- let res: Result < TokenStream > = Err ( e) ;
888
- return handle_reg_error ( "Error rendering register" , reg, res) ;
889
- }
890
- } ;
878
+ let reg_name = & reg. name ;
879
+ let rpath = rpath. unwrap_or_else ( || path. new_register ( reg_name) ) ;
880
+
881
+ let rendered_reg =
882
+ register:: render ( reg, & rpath, index, config) . with_context ( || {
883
+ let descrip = reg. description . as_deref ( ) . unwrap_or ( "No description" ) ;
884
+ format ! (
885
+ "Error rendering register\n Name: {reg_name}\n Description: {descrip}"
886
+ )
887
+ } ) ?;
888
+ mod_items. extend ( rendered_reg)
891
889
}
892
890
}
893
891
}
0 commit comments