mie: builtin: implement op printer callbacks

This commit is contained in:
2026-01-17 10:28:51 +00:00
parent 3ba20e5ed4
commit c410e0a6e3
2 changed files with 10 additions and 11 deletions

View File

@@ -1,11 +1,20 @@
#include <mie/dialect/dialect.h> #include <mie/dialect/dialect.h>
#include <mie/ir/op-definition.h> #include <mie/ir/op-definition.h>
#include <mie/ir/op.h> #include <mie/ir/op.h>
#include <mie/ir/region.h>
#include <mie/macros.h> #include <mie/macros.h>
#include <mie/print/printer.h> #include <mie/print/printer.h>
static enum mie_status print(struct mie_printer *printer, const struct mie_op *op) static enum mie_status print(struct mie_printer *out, const struct mie_op *op)
{ {
b_stream_write_char(out->p_stream, ' ');
if (MIE_VECTOR_COUNT(op->op_regions) == 0) {
return MIE_SUCCESS;
}
struct mie_region *region = &op->op_regions.items[0];
mie_printer_print_region(out, region, 0);
return MIE_SUCCESS; return MIE_SUCCESS;
} }

View File

@@ -15,17 +15,7 @@ static void type_init(
type->ty_instance_size = sizeof(struct mie_index); type->ty_instance_size = sizeof(struct mie_index);
} }
static enum mie_status print(const struct mie_type *ty, struct mie_printer *out)
{
b_stream_write_string(
out->p_stream,
(out->p_flags & MIE_PRINT_F_ABBREVIATED) ? "index" : "!builtin.index",
NULL);
return MIE_SUCCESS;
}
MIE_TYPE_DEFINITION_BEGIN(mie_builtin_index, "index") MIE_TYPE_DEFINITION_BEGIN(mie_builtin_index, "index")
MIE_TYPE_DEFINITION_STRUCT(struct index_type); MIE_TYPE_DEFINITION_STRUCT(struct index_type);
MIE_TYPE_DEFINITION_INIT(type_init); MIE_TYPE_DEFINITION_INIT(type_init);
MIE_TYPE_DEFINITION_PRINT(print);
MIE_TYPE_DEFINITION_END() MIE_TYPE_DEFINITION_END()