2020-07-06 14:18:29 +01:00
|
|
|
use crate::namespace::Namespace;
|
|
|
|
use inkwell::values::PointerValue;
|
|
|
|
|
|
|
|
pub type ExprResult<'a> = Result<PointerValue<'a>, String>;
|
|
|
|
|
|
|
|
pub trait Expression<'a> {
|
2020-06-20 15:20:05 +01:00
|
|
|
fn eval();
|
2020-07-06 14:18:29 +01:00
|
|
|
fn code_gen(&self, ns: &Namespace) -> ExprResult<'a>;
|
2020-06-20 15:20:05 +01:00
|
|
|
}
|