use super::Block;
use crate::Expression;
use crate::Span;
#[derive(Clone, Debug)]
pub struct StmtElseIf {
pub condition: Expression,
pub block: Block,
pub span: Span,
}
impl StmtElseIf {
pub fn new(condition: Expression, block: Block, span: Span) -> Self {
Self {
condition,
block,
span,
}
}
pub fn span(&self) -> Span {
self.span
}
}
#[derive(Clone, Debug)]
pub struct StmtIf {
pub condition: Expression,
pub block: Block,
pub else_ifs: Vec<StmtElseIf>,
pub else_block: Option<Block>,
pub span: Span,
}
impl StmtIf {
pub fn new(
condition: Expression,
block: Block,
else_ifs: Vec<StmtElseIf>,
else_block: Option<Block>,
span: Span,
) -> Self {
Self {
condition,
block,
else_ifs,
else_block,
span,
}
}
pub fn span(&self) -> Span {
self.span
}
}