use serde::Serialize;
use crate::model::{SourceLocation, expression::Expression, statement::Statement};
#[derive(Debug, Clone, Serialize)]
pub struct WhileStatement {
pub condition: Box<Expression>,
#[serde(skip_serializing_if = "Vec::is_empty")]
pub body: Vec<Statement>,
pub location: SourceLocation,
}
#[derive(Debug, Clone, Serialize)]
pub struct DoWhileStatement {
#[serde(skip_serializing_if = "Vec::is_empty")]
pub body: Vec<Statement>,
pub condition: Box<Expression>,
pub location: SourceLocation,
}