From f6f6131f5214d0e6310f0b0b0982b2541d551fed Mon Sep 17 00:00:00 2001 From: Max Wash Date: Wed, 21 Jan 2026 14:38:01 +0000 Subject: [PATCH] mie: builtin: add function to create mie_type_attr instances --- mie/dialect/builtin/attribute/type.c | 35 +++++++++++++++------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/mie/dialect/builtin/attribute/type.c b/mie/dialect/builtin/attribute/type.c index 75b2e54..2f927ca 100644 --- a/mie/dialect/builtin/attribute/type.c +++ b/mie/dialect/builtin/attribute/type.c @@ -7,6 +7,23 @@ #include #include +struct mie_attribute *mie_type_attr_create( + struct mie_ctx *ctx, const struct mie_type *ty) +{ + struct mie_type_attr *out = malloc(sizeof *out); + if (!out) { + return NULL; + } + + memset(out, 0x0, sizeof *out); + + out->ty_base.a_def + = mie_ctx_get_attribute_definition(ctx, "builtin", "type"); + out->ty_value = ty; + + return (struct mie_attribute *)out; +} + static enum mie_status print( const struct mie_attribute *value, struct mie_printer *out) { @@ -25,25 +42,11 @@ static enum mie_status print( return MIE_SUCCESS; } -static struct mie_type_attr *type_attr_create(struct mie_ctx *ctx) -{ - struct mie_type_attr *ty = malloc(sizeof *ty); - if (!ty) { - return NULL; - } - - memset(ty, 0x0, sizeof *ty); - - ty->ty_base.a_def - = mie_ctx_get_attribute_definition(ctx, "builtin", "type"); - - return ty; -} - static enum mie_status parse( struct mie_parser *ctx, const struct mie_attribute **out) { - struct mie_type_attr *ty = type_attr_create(mie_parser_get_mie_ctx(ctx)); + struct mie_type_attr *ty = (struct mie_type_attr *)mie_type_attr_create( + mie_parser_get_mie_ctx(ctx), NULL); if (!ty) { return MIE_ERR_NO_MEMORY; }