use super::*;
mod display;
mod iters;
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct EnumerateDeclaration {
pub documentation: DocumentationNode,
pub namepath: NamePathNode,
pub modifiers: Vec<IdentifierNode>,
pub layout: Option<ExpressionNode>,
pub implements: Vec<String>,
pub body: StatementBlock,
pub span: Range<u32>,
}
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct EnumerateFieldDeclaration {
pub documentation: DocumentationNode,
pub name: IdentifierNode,
pub value: Option<ExpressionNode>,
pub span: Range<u32>,
}
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum EnumerateTerm {
Field(EnumerateFieldDeclaration),
}
#[derive(Clone, Debug)]
pub struct EnumerateIterator<'a> {
inner: core::slice::Iter<'a, StatementNode>,
}