use crate::*;
#[derive(Clone, Debug, PartialEq)]
pub enum ActionBlock<'a> {
Basic(Box<StatementOrNull<'a>>),
Conditional(
Box<(
Option<Statement<'a>>,
Metadata<'a>, // else
StatementOrNull<'a>,
)>,
),
}
#[derive(Clone, Debug, PartialEq)]
pub struct SeqBlock<'a>(
pub Metadata<'a>, pub Option<(
Metadata<'a>, // :
BlockIdentifier<'a>,
)>,
pub Vec<BlockItemDeclaration<'a>>,
pub Vec<StatementOrNull<'a>>,
pub Metadata<'a>, pub Option<(
Metadata<'a>, // :
BlockIdentifier<'a>,
)>,
);
#[derive(Clone, Debug, PartialEq)]
pub struct ParBlock<'a>(
pub Metadata<'a>, pub Option<(
Metadata<'a>, // :
BlockIdentifier<'a>,
)>,
pub Vec<BlockItemDeclaration<'a>>,
pub Vec<StatementOrNull<'a>>,
pub JoinKeyword<'a>,
pub Option<(
Metadata<'a>, // :
BlockIdentifier<'a>,
)>,
);
#[derive(Clone, Debug, PartialEq)]
pub enum JoinKeyword<'a> {
Join(Metadata<'a>),
JoinAny(Metadata<'a>),
JoinNone(Metadata<'a>),
}