summaryrefslogtreecommitdiff
path: root/src/codegen/codegen.h
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-22 22:40:43 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-22 22:40:43 +0000
commited4bbfd8cf4a72fdf4a5d6cba94d537cab340356 (patch)
tree80f520cb36f25a210537b477007b0ac5a24e4b8e /src/codegen/codegen.h
parent3d1840e8690bef6e58a208d9ca33857a59a2e852 (diff)
Removing some duplicates and dissecting codegen/parser.
Diffstat (limited to 'src/codegen/codegen.h')
-rw-r--r--src/codegen/codegen.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/codegen/codegen.h b/src/codegen/codegen.h
index caf7c0c..0a1cbaf 100644
--- a/src/codegen/codegen.h
+++ b/src/codegen/codegen.h
@@ -12,6 +12,7 @@ void codegen_node(ParserContext *ctx, ASTNode *node, FILE *out);
void codegen_node_single(ParserContext *ctx, ASTNode *node, FILE *out);
void codegen_walker(ParserContext *ctx, ASTNode *node, FILE *out);
void codegen_expression(ParserContext *ctx, ASTNode *node, FILE *out);
+void codegen_match_internal(ParserContext *ctx, ASTNode *node, FILE *out, int use_result);
// Utility functions (codegen_utils.c).
char *infer_type(ParserContext *ctx, ASTNode *node);
@@ -24,6 +25,7 @@ const char *parse_original_method_name(const char *mangled);
void emit_auto_type(ParserContext *ctx, ASTNode *init_expr, Token t, FILE *out);
char *codegen_type_to_string(Type *t);
void emit_func_signature(FILE *out, ASTNode *func, const char *name_override);
+char *strip_template_suffix(const char *name);
// Declaration emission (codegen_decl.c).
void emit_preamble(ParserContext *ctx, FILE *out);
@@ -47,6 +49,7 @@ extern int tmp_counter;
extern int defer_count;
extern ASTNode *defer_stack[];
extern ASTNode *g_current_lambda;
+extern char *g_current_func_ret_type;
// Defer boundary tracking for proper defer execution on break/continue/return
#define MAX_DEFER 1024