@@ -42,7 +42,7 @@ pub fn render(
42
42
. as_ref ( ) ,
43
43
) ;
44
44
45
- let mut mod_items = vec ! [ ] ;
45
+ let mut mod_items = TokenStream :: new ( ) ;
46
46
let mut r_impl_items = vec ! [ ] ;
47
47
let mut w_impl_items = vec ! [ ] ;
48
48
let mut methods = vec ! [ ] ;
@@ -52,7 +52,7 @@ pub fn render(
52
52
53
53
if can_read {
54
54
let desc = format ! ( "Reader of register {}" , register. name) ;
55
- mod_items. push ( quote ! {
55
+ mod_items. extend ( quote ! {
56
56
#[ doc = #desc]
57
57
pub type R = crate :: R <#rty, super :: #name_pc>;
58
58
} ) ;
@@ -62,13 +62,13 @@ pub fn render(
62
62
let res_val = register. reset_value . or ( defs. reset_value ) . map ( |v| v as u64 ) ;
63
63
if can_write {
64
64
let desc = format ! ( "Writer for register {}" , register. name) ;
65
- mod_items. push ( quote ! {
65
+ mod_items. extend ( quote ! {
66
66
#[ doc = #desc]
67
67
pub type W = crate :: W <#rty, super :: #name_pc>;
68
68
} ) ;
69
69
if let Some ( rv) = res_val. map ( util:: hex) {
70
70
let doc = format ! ( "Register {} `reset()`'s with value {}" , register. name, & rv) ;
71
- mod_items. push ( quote ! {
71
+ mod_items. extend ( quote ! {
72
72
#[ doc = #doc]
73
73
impl crate :: ResetValue for super :: #name_pc {
74
74
type Type = #rty;
@@ -116,33 +116,29 @@ pub fn render(
116
116
let close = Punct :: new ( '}' , Spacing :: Alone ) ;
117
117
118
118
if can_read {
119
- mod_items. push ( quote ! {
119
+ mod_items. extend ( quote ! {
120
120
impl R #open
121
121
} ) ;
122
122
123
- for item in r_impl_items {
124
- mod_items. push ( quote ! {
125
- #item
126
- } ) ;
127
- }
123
+ mod_items. extend ( r_impl_items) ;
128
124
129
- mod_items. push ( quote ! {
125
+ mod_items. extend ( quote ! {
130
126
#close
131
127
} ) ;
132
128
}
133
129
134
130
if can_write {
135
- mod_items. push ( quote ! {
131
+ mod_items. extend ( quote ! {
136
132
impl W #open
137
133
} ) ;
138
134
139
135
for item in w_impl_items {
140
- mod_items. push ( quote ! {
136
+ mod_items. extend ( quote ! {
141
137
#item
142
138
} ) ;
143
139
}
144
140
145
- mod_items. push ( quote ! {
141
+ mod_items. extend ( quote ! {
146
142
#close
147
143
} ) ;
148
144
}
@@ -219,7 +215,7 @@ pub fn fields(
219
215
rty : & Ident ,
220
216
reset_value : Option < u64 > ,
221
217
access : Access ,
222
- mod_items : & mut Vec < TokenStream > ,
218
+ mod_items : & mut TokenStream ,
223
219
r_impl_items : & mut Vec < TokenStream > ,
224
220
w_impl_items : & mut Vec < TokenStream > ,
225
221
) -> Result < ( ) > {
@@ -311,7 +307,7 @@ pub fn fields(
311
307
derive_from_base ( mod_items, & base, & pc_r, & base_pc_r, & description) ;
312
308
313
309
let doc = format ! ( "Reader of field `{}`" , f. name) ;
314
- mod_items. push ( quote ! {
310
+ mod_items. extend ( quote ! {
315
311
#[ doc = #doc]
316
312
pub type #_pc_r = crate :: R <#fty, #pc_r>;
317
313
} ) ;
@@ -394,7 +390,7 @@ pub fn fields(
394
390
}
395
391
396
392
let doc = format ! ( "Reader of field `{}`" , f. name) ;
397
- mod_items. push ( quote ! {
393
+ mod_items. extend ( quote ! {
398
394
#[ doc = #doc]
399
395
pub type #_pc_r = crate :: R <#fty, #pc_r>;
400
396
impl #_pc_r {
@@ -412,7 +408,7 @@ pub fn fields(
412
408
} ) ;
413
409
414
410
let doc = format ! ( "Reader of field `{}`" , f. name) ;
415
- mod_items. push ( quote ! {
411
+ mod_items. extend ( quote ! {
416
412
#[ doc = #doc]
417
413
pub type #_pc_r = crate :: R <#fty, #fty>;
418
414
} )
@@ -507,7 +503,7 @@ pub fn fields(
507
503
} ) ;
508
504
509
505
let doc = format ! ( "Write proxy for field `{}`" , f. name) ;
510
- mod_items. push ( quote ! {
506
+ mod_items. extend ( quote ! {
511
507
#[ doc = #doc]
512
508
pub struct #_pc_w<' a> {
513
509
w: & ' a mut W ,
@@ -586,7 +582,7 @@ impl Variant {
586
582
}
587
583
588
584
fn add_from_variants (
589
- mod_items : & mut Vec < TokenStream > ,
585
+ mod_items : & mut TokenStream ,
590
586
variants : & [ Variant ] ,
591
587
pc : & Ident ,
592
588
fty : & Ident ,
@@ -618,7 +614,7 @@ fn add_from_variants(
618
614
desc. to_owned ( )
619
615
} ;
620
616
621
- mod_items. push ( quote ! {
617
+ mod_items. extend ( quote ! {
622
618
#[ doc = #desc]
623
619
#[ derive( Clone , Copy , Debug , PartialEq ) ]
624
620
#repr
@@ -635,7 +631,7 @@ fn add_from_variants(
635
631
}
636
632
637
633
fn derive_from_base (
638
- mod_items : & mut Vec < TokenStream > ,
634
+ mod_items : & mut TokenStream ,
639
635
base : & Base ,
640
636
pc : & Ident ,
641
637
base_pc : & Ident ,
@@ -648,7 +644,7 @@ fn derive_from_base(
648
644
let pmod_ = Ident :: new ( & pmod_, span) ;
649
645
let rmod_ = Ident :: new ( & rmod_, span) ;
650
646
651
- mod_items. push ( quote ! {
647
+ mod_items. extend ( quote ! {
652
648
#[ doc = #desc]
653
649
pub type #pc =
654
650
crate :: #pmod_:: #rmod_:: #base_pc;
@@ -657,13 +653,13 @@ fn derive_from_base(
657
653
let mod_ = register. to_sanitized_snake_case ( ) ;
658
654
let mod_ = Ident :: new ( & mod_, span) ;
659
655
660
- mod_items. push ( quote ! {
656
+ mod_items. extend ( quote ! {
661
657
#[ doc = #desc]
662
658
pub type #pc =
663
659
super :: #mod_:: #base_pc;
664
660
} ) ;
665
661
} else {
666
- mod_items. push ( quote ! {
662
+ mod_items. extend ( quote ! {
667
663
#[ doc = #desc]
668
664
pub type #pc = #base_pc;
669
665
} ) ;
0 commit comments