add Bool.not

This commit is contained in:
Folkert 2020-03-26 14:48:11 +01:00
parent 08403b0a1f
commit 1108e56750

View file

@ -161,6 +161,16 @@ pub fn build_expr<'a, 'ctx, 'env>(
build_basic_phi2(env, parent, comparison, build_then, build_else, ret_type)
}
Symbol::BOOL_NOT => {
// The (!) operator
debug_assert!(args.len() == 1);
let arg = build_expr(env, scope, parent, &args[0].0, procs);
let int_val = env.builder.build_not(arg.into_int_value(), "bool_not");
BasicValueEnum::IntValue(int_val)
}
_ => {
let mut arg_tuples: Vec<(BasicValueEnum, &'a Layout<'a>)> =
Vec::with_capacity_in(args.len(), env.arena);