@@ -179,15 +179,9 @@ pub fn render(
179
179
pub mod #name_sc #open
180
180
} ) ;
181
181
182
- for item in mod_items {
183
- out. extend ( quote ! {
184
- #item
185
- } ) ;
186
- }
182
+ out. extend ( mod_items) ;
187
183
188
- out. extend ( quote ! {
189
- #close
190
- } ) ;
184
+ close. to_tokens ( & mut out) ;
191
185
192
186
Ok ( out)
193
187
}
@@ -730,12 +724,13 @@ fn cluster_block(
730
724
util:: escape_brackets ( util:: respace ( c. description . as_ref ( ) . unwrap_or ( & c. name ) ) . as_ref ( ) ) ;
731
725
732
726
// Generate the register block.
733
- let mod_name = match c {
734
- Cluster :: Single ( info) => & info. name ,
735
- Cluster :: Array ( info, _ai) => & info. name ,
736
- }
737
- . replace ( "[%s]" , "" )
738
- . replace ( "%s" , "" ) ;
727
+ let mod_name = util:: replace_suffix (
728
+ match c {
729
+ Cluster :: Single ( info) => & info. name ,
730
+ Cluster :: Array ( info, _ai) => & info. name ,
731
+ } ,
732
+ "" ,
733
+ ) ;
739
734
let name_sc = Ident :: new ( & mod_name. to_sanitized_snake_case ( ) , Span :: call_site ( ) ) ;
740
735
741
736
let defaults = c. default_register_properties . derive_from ( defaults) ;
@@ -794,8 +789,6 @@ fn expand_svd_register(register: &Register, name: Option<&str>) -> Vec<syn::Fiel
794
789
match register {
795
790
Register :: Single ( _info) => out. push ( convert_svd_register ( register, name) ) ,
796
791
Register :: Array ( info, array_info) => {
797
- let has_brackets = info. name . contains ( "[%s]" ) ;
798
-
799
792
let indices = array_info
800
793
. dim_index
801
794
. as_ref ( )
@@ -808,18 +801,10 @@ fn expand_svd_register(register: &Register, name: Option<&str>) -> Vec<syn::Fiel
808
801
)
809
802
} ) ;
810
803
811
- for ( idx, _i) in indices. iter ( ) . zip ( 0 ..) {
812
- let nb_name = if has_brackets {
813
- info. name . replace ( "[%s]" , idx)
814
- } else {
815
- info. name . replace ( "%s" , idx)
816
- } ;
804
+ let ty_name = util:: replace_suffix ( & info. name , "" ) ;
817
805
818
- let ty_name = if has_brackets {
819
- info. name . replace ( "[%s]" , "" )
820
- } else {
821
- info. name . replace ( "%s" , "" )
822
- } ;
806
+ for ( idx, _i) in indices. iter ( ) . zip ( 0 ..) {
807
+ let nb_name = util:: replace_suffix ( & info. name , idx) ;
823
808
824
809
let ty = name_to_ty ( & ty_name, name) ;
825
810
@@ -849,13 +834,7 @@ fn convert_svd_register(register: &Register, name: Option<&str>) -> syn::Field {
849
834
syn:: Type :: Path ( parse_str :: < syn:: TypePath > ( & name_to_ty ( & info. name , name) ) . unwrap ( ) ) ,
850
835
) ,
851
836
Register :: Array ( info, array_info) => {
852
- let has_brackets = info. name . contains ( "[%s]" ) ;
853
-
854
- let nb_name = if has_brackets {
855
- info. name . replace ( "[%s]" , "" )
856
- } else {
857
- info. name . replace ( "%s" , "" )
858
- } ;
837
+ let nb_name = util:: replace_suffix ( & info. name , "" ) ;
859
838
860
839
let ty = syn:: Type :: Array (
861
840
parse_str :: < syn:: TypeArray > ( & format ! (
@@ -883,8 +862,6 @@ fn expand_svd_cluster(cluster: &Cluster) -> Vec<syn::Field> {
883
862
match & cluster {
884
863
Cluster :: Single ( _info) => out. push ( convert_svd_cluster ( cluster) ) ,
885
864
Cluster :: Array ( info, array_info) => {
886
- let has_brackets = info. name . contains ( "[%s]" ) ;
887
-
888
865
let indices = array_info
889
866
. dim_index
890
867
. as_ref ( )
@@ -897,18 +874,10 @@ fn expand_svd_cluster(cluster: &Cluster) -> Vec<syn::Field> {
897
874
)
898
875
} ) ;
899
876
900
- for ( idx, _i) in indices. iter ( ) . zip ( 0 ..) {
901
- let name = if has_brackets {
902
- info. name . replace ( "[%s]" , idx)
903
- } else {
904
- info. name . replace ( "%s" , idx)
905
- } ;
877
+ let ty_name = util:: replace_suffix ( & info. name , "" ) ;
906
878
907
- let ty_name = if has_brackets {
908
- info. name . replace ( "[%s]" , "" )
909
- } else {
910
- info. name . replace ( "%s" , "" )
911
- } ;
879
+ for ( idx, _i) in indices. iter ( ) . zip ( 0 ..) {
880
+ let name = util:: replace_suffix ( & info. name , idx) ;
912
881
913
882
let ty = name_to_ty ( & ty_name) ;
914
883
@@ -929,13 +898,7 @@ fn convert_svd_cluster(cluster: &Cluster) -> syn::Field {
929
898
) ,
930
899
) ,
931
900
Cluster :: Array ( info, array_info) => {
932
- let has_brackets = info. name . contains ( "[%s]" ) ;
933
-
934
- let name = if has_brackets {
935
- info. name . replace ( "[%s]" , "" )
936
- } else {
937
- info. name . replace ( "%s" , "" )
938
- } ;
901
+ let name = util:: replace_suffix ( & info. name , "" ) ;
939
902
940
903
let ty = syn:: Type :: Array (
941
904
parse_str :: < syn:: TypeArray > ( & format ! (
0 commit comments