xenon_codegen/
loop_statement.rs1use core::fmt;
2
3use crate::statement::Statement;
4
5#[derive(Debug, Clone, Default)]
6pub struct LoopStatement {
7 pub body: Box<Statement>,
8}
9impl LoopStatement {
10 pub fn new(body: Statement) -> LoopStatement {
11 LoopStatement {
12 body: Box::new(body),
13 }
14 }
15
16 pub fn is_valid(&self) -> bool {
17 if !self.body.is_valid() {
18 return false;
19 }
20 true
21 }
22}
23impl fmt::Display for LoopStatement {
24 fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
25 match write!(fmt, "loop {}", self.body) {
26 Ok(_) => (),
27 Err(e) => return Err(e),
28 }
29 Ok(())
30 }
31}