use node::Node;
use eval::Expr;
#[derive(Debug, Clone)]
pub struct If {
pub expr: Expr,
pub nodes: Vec<Box<Node>>,
pub _else_ifs: Vec<Box<Node>>,
pub _else: Option<Box<Node>>,
}
impl If {
pub fn new(expression: String) -> If {
If {
expr: Expr::new(expression).compile().unwrap(),
nodes: Vec::new(),
_else_ifs: Vec::new(),
_else: None,
}
}
pub fn set_else(&mut self, _else: Node) {
self._else = Some(Box::new(_else));
}
pub fn append_else_ifs(&mut self, else_ifs: &mut Vec<Box<Node>>) {
self._else_ifs.append(else_ifs);
}
}