summaryrefslogtreecommitdiff
path: root/src/codegen/codegen.h
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-26 02:45:47 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-26 02:45:47 +0000
commit2022012d6514578bd53a91b3048d08cf8686e233 (patch)
treee9fb39723214d58fc54456109c3cc0878155280b /src/codegen/codegen.h
parent894e4c69cc10242fc49bcaadf76b672607867d67 (diff)
Improved documentation for header files in src/ and plugins/
Diffstat (limited to 'src/codegen/codegen.h')
-rw-r--r--src/codegen/codegen.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/codegen/codegen.h b/src/codegen/codegen.h
index ec77817..9d32110 100644
--- a/src/codegen/codegen.h
+++ b/src/codegen/codegen.h
@@ -50,11 +50,13 @@ 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);
-// duplicate decl removed: char *strip_template_suffix(const char *name);
int emit_move_invalidation(ParserContext *ctx, ASTNode *node, FILE *out);
void codegen_expression_with_move(ParserContext *ctx, ASTNode *node, FILE *out);
// Declaration emission (codegen_decl.c).
+/**
+ * @brief Emits the standard preamble (includes, macros) to the output file.
+ */
void emit_preamble(ParserContext *ctx, FILE *out);
void emit_includes_and_aliases(ASTNode *node, FILE *out);
void emit_type_aliases(ASTNode *node, FILE *out);
@@ -66,6 +68,10 @@ void emit_globals(ParserContext *ctx, ASTNode *node, FILE *out);
void emit_lambda_defs(ParserContext *ctx, FILE *out);
void emit_protos(ASTNode *node, FILE *out);
void emit_impl_vtables(ParserContext *ctx, FILE *out);
+
+/**
+ * @brief Emits test runner and test cases if testing is enabled.
+ */
int emit_tests_and_runner(ParserContext *ctx, ASTNode *node, FILE *out);
void print_type_defs(ParserContext *ctx, FILE *out, ASTNode *nodes);