@@ -10,10 +10,7 @@ use proc_macro2::{Ident, Punct, Spacing, Span, TokenStream};
1010use quote:: { quote, ToTokens } ;
1111use syn:: { parse_str, Token } ;
1212
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 } ;
1714use anyhow:: { anyhow, bail, Context , Result } ;
1815
1916use crate :: generate:: register;
@@ -570,26 +567,24 @@ fn expand(ercs: &[RegisterCluster], config: &Config) -> Result<Vec<RegisterBlock
570567 debug ! ( "Expanding registers or clusters into Register Block Fields" ) ;
571568 for erc in ercs {
572569 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+ }
593588 } ;
594589 }
595590
@@ -880,14 +875,17 @@ fn render_ercs(
880875 if let Some ( dpath) = dpath {
881876 rpath = derive_register ( reg, & dpath, path, index) ?;
882877 }
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)
891889 }
892890 }
893891 }
0 commit comments