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.rs6
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,