code_gen/rust/control/loops/
loop.rs1use crate::{CodeBuffer, Statement, WithStatements};
2
3#[derive(Default)]
5pub struct Loop {
6 statements: Vec<Box<dyn Statement>>,
7}
8
9impl WithStatements for Loop {
10 fn statements(&self) -> &[Box<dyn Statement>] {
11 self.statements.as_slice()
12 }
13
14 fn add_boxed_statement(&mut self, statement: Box<dyn Statement>) {
15 self.statements.push(statement);
16 }
17}
18
19impl Statement for Loop {
20 fn write(&self, b: &mut CodeBuffer, level: usize) {
21 b.indent(level);
22 b.write("loops ");
23 self.write_curly_statement_block(b, level);
24 b.end_line();
25 }
26}