cortex_lang/parsing/ast/
program.rs

1use std::vec::IntoIter;
2
3use crate::parsing::codegen::r#trait::SimpleCodeGen;
4
5use super::top_level::TopLevel;
6
7pub struct Program {
8    pub(crate) content: Vec<TopLevel>,
9}
10impl SimpleCodeGen for Program {
11    fn codegen(&self, indent: usize) -> String {
12        let mut s = String::new();
13        for c in &self.content {
14            s.push_str(&c.codegen(indent));
15        }
16        s
17    }
18}
19impl IntoIterator for Program {
20    type Item = TopLevel;
21
22    type IntoIter = IntoIter<TopLevel>;
23
24    fn into_iter(self) -> Self::IntoIter {
25        self.content.into_iter()
26    }
27}