Finite state machines in rust; bendns fork to add types.
Diffstat (limited to 'rust-fsm-dsl/src/parser.rs')
| -rw-r--r-- | rust-fsm-dsl/src/parser.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rust-fsm-dsl/src/parser.rs b/rust-fsm-dsl/src/parser.rs index 7b97a03..d4a9c2e 100644 --- a/rust-fsm-dsl/src/parser.rs +++ b/rust-fsm-dsl/src/parser.rs @@ -116,6 +116,7 @@ impl Parse for TransitionDef { /// } /// ``` pub struct StateMachineDef { + pub doc: Vec<Attribute>, /// The visibility modifier (applies to all generated items) pub visibility: Visibility, pub name: Ident, @@ -130,12 +131,16 @@ pub struct StateMachineDef { impl Parse for StateMachineDef { fn parse(input: ParseStream) -> Result<Self> { let mut state_machine_attributes = Vec::new(); + let mut doc = Vec::new(); let attributes = Attribute::parse_outer(input)? .into_iter() .filter_map(|attribute| { if attribute.path().is_ident("state_machine") { state_machine_attributes.push(attribute); None + } else if attribute.path().is_ident("doc") { + doc.push(attribute); + None } else { Some(attribute) } @@ -177,6 +182,7 @@ impl Parse for StateMachineDef { .collect(); Ok(Self { + doc, visibility, name, initial_state, |