From 9a54f2f52fdaf9364b0f757f5cdcbf09de230919 Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Mon, 12 Jan 2026 12:35:57 +0000 Subject: Improved comptime feature, and added example. --- src/codegen/codegen_decl.c | 4 ++-- src/codegen/codegen_utils.c | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/codegen') diff --git a/src/codegen/codegen_decl.c b/src/codegen/codegen_decl.c index b009a64..ac4ae14 100644 --- a/src/codegen/codegen_decl.c +++ b/src/codegen/codegen_decl.c @@ -433,7 +433,7 @@ void emit_globals(ParserContext *ctx, ASTNode *node, FILE *out) } if (node->var_decl.type_str) { - fprintf(out, "%s %s", node->var_decl.type_str, node->var_decl.name); + emit_var_decl_type(ctx, out, node->var_decl.type_str, node->var_decl.name); } else { @@ -445,7 +445,7 @@ void emit_globals(ParserContext *ctx, ASTNode *node, FILE *out) if (inferred && strcmp(inferred, "__auto_type") != 0) { - fprintf(out, "%s %s", inferred, node->var_decl.name); + emit_var_decl_type(ctx, out, inferred, node->var_decl.name); } else { diff --git a/src/codegen/codegen_utils.c b/src/codegen/codegen_utils.c index 8969276..2feb757 100644 --- a/src/codegen/codegen_utils.c +++ b/src/codegen/codegen_utils.c @@ -117,6 +117,15 @@ char *infer_type(ParserContext *ctx, ASTNode *node) return node->resolved_type; } + if (node->type == NODE_EXPR_LITERAL) + { + if (node->type_info) + { + return type_to_string(node->type_info); + } + return NULL; + } + if (node->type == NODE_EXPR_VAR) { Symbol *sym = find_symbol_entry(ctx, node->var_ref.name); -- cgit v1.2.3