Skip to content

Commit 2c34e26

Browse files
committed
Avoid generating code for reserved fields and enumerated values. Fixes #87
1 parent 9f1c0d3 commit 2c34e26

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/generate.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,9 +555,14 @@ pub fn register(
555555
);
556556

557557
if let Some(fields) = register.fields.as_ref() {
558+
// filter out all reserved fields, as we should not generate code for them
559+
let fields:Vec<Field> = fields.clone().into_iter()
560+
.filter(|field| field.name.to_lowercase() != "reserved")
561+
.collect();
562+
558563
if !fields.is_empty() {
559564
::generate::fields(
560-
fields,
565+
&fields,
561566
register,
562567
all_registers,
563568
peripheral,
@@ -712,6 +717,8 @@ pub fn fields(
712717
let has_reserved_variant = evs.values.len() != (1 << f.width);
713718
let variants = evs.values
714719
.iter()
720+
// filter out all reserved variants, as we should not generate code for them
721+
.filter(|field| field.name.to_lowercase() != "reserved")
715722
.map(|ev| {
716723
let sc =
717724
Ident::new(&*ev.name.to_sanitized_snake_case());
@@ -1025,6 +1032,8 @@ pub fn fields(
10251032

10261033
let variants = evs.values
10271034
.iter()
1035+
// filter out all reserved variants, as we should not generate code for them
1036+
.filter(|field| field.name.to_lowercase() != "reserved")
10281037
.map(
10291038
|ev| {
10301039
let value = u64(ev.value.ok_or_else(|| {

0 commit comments

Comments
 (0)