diff options
Diffstat (limited to 'src/enums.c')
| -rw-r--r-- | src/enums.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/enums.c b/src/enums.c index ac21bdda..36b5f97f 100644 --- a/src/enums.c +++ b/src/enums.c @@ -36,9 +36,10 @@ CORD compile_enum_typeinfo(env_t *env, ast_t *ast) type_t *t = Table$str_get(*env->types, def->name); const char *metamethods = is_packed_data(t) ? "PackedDataEnum$metamethods" : "Enum$metamethods"; - CORD typeinfo = CORD_asprintf("public const TypeInfo_t %r$$info = {%zu, %zu, .metamethods=%s, {.tag=EnumInfo, .EnumInfo={.name=\"%s\", " - ".num_tags=%d, .tags=(NamedType_t[]){", - full_name, type_size(t), type_align(t), metamethods, def->name, num_tags); + CORD typeinfo = CORD_all("public const TypeInfo_t ", full_name, "$$info = {", + String(type_size(t)), "u, ", String(type_align(t)), "u, .metamethods=", metamethods, + ", {.tag=EnumInfo, .EnumInfo={.name=\"", def->name, "\", " + ".num_tags=", String(num_tags), ", .tags=(NamedType_t[]){"); for (tag_ast_t *tag = def->tags; tag; tag = tag->next) { const char *tag_type_name = String(def->name, "$", tag->name); |
