use super::expr::Expr;
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Default, Hash)]
pub struct FunctionExpr {
pub source: Box<Option<Expr>>,
pub name: Box<Expr>,
pub rust_name: Box<Option<Expr>>,
pub args: Box<Vec<(Expr, Expr, bool, bool)>>,
pub ret: Box<Option<Expr>>,
pub is_static: bool,
pub is_mut: bool,
pub is_optional: bool,
}