mie: ctx is now used to query the type of a value

this allows value get_type callbacks to use mie_ctx to obtain mie_type pointers,
rather than having to define their own static versions of the type structs.
This commit is contained in:
2025-04-28 15:38:25 +01:00
parent cbec21b90f
commit 1431cb7b47
14 changed files with 34 additions and 64 deletions

View File

@@ -226,7 +226,7 @@ struct mie_value *mie_builder_add(
add->op_left = left;
add->op_right = right;
add->op_type = mie_value_get_type(left);
add->op_type = mie_value_get_type(left, builder->b_ctx);
if (!mie_block_add_instr(builder->b_current_block, &add->op_base)) {
free(add);
@@ -262,7 +262,7 @@ struct mie_value *mie_builder_sub(
sub->op_left = left;
sub->op_right = right;
sub->op_type = mie_value_get_type(left);
sub->op_type = mie_value_get_type(left, builder->b_ctx);
if (!mie_block_add_instr(builder->b_current_block, &sub->op_base)) {
free(sub);
@@ -298,7 +298,7 @@ struct mie_value *mie_builder_mul(
mul->op_left = left;
mul->op_right = right;
mul->op_type = mie_value_get_type(left);
mul->op_type = mie_value_get_type(left, builder->b_ctx);
if (!mie_block_add_instr(builder->b_current_block, &mul->op_base)) {
free(mul);
@@ -334,7 +334,7 @@ struct mie_value *mie_builder_div(
div->op_left = left;
div->op_right = right;
div->op_type = mie_value_get_type(left);
div->op_type = mie_value_get_type(left, builder->b_ctx);
if (!mie_block_add_instr(builder->b_current_block, &div->op_base)) {
free(div);