diff options
| author | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-23 18:20:25 +0000 |
|---|---|---|
| committer | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-23 18:20:25 +0000 |
| commit | a7eb36e4ac1eb437f99e2b1d8d8aab93f0767fc1 (patch) | |
| tree | b7f94a6dd13813b6633db9ff875be3462ecea300 /src/codegen | |
| parent | d7b24c552305f1bd8c49e253d14dcf4b1581df2c (diff) | |
Fix for #93
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/codegen_decl.c | 10 | ||||
| -rw-r--r-- | src/codegen/codegen_stmt.c | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/codegen/codegen_decl.c b/src/codegen/codegen_decl.c index 109aa9a..18d81f5 100644 --- a/src/codegen/codegen_decl.c +++ b/src/codegen/codegen_decl.c @@ -732,6 +732,11 @@ void emit_protos(ASTNode *node, FILE *out) ASTNode *m = f->impl.methods; while (m) { + if (m->func.generic_params) + { + m = m->next; + continue; + } char *fname = m->func.name; char *proto = xmalloc(strlen(fname) + strlen(sname) + 2); int slen = strlen(sname); @@ -810,6 +815,11 @@ void emit_protos(ASTNode *node, FILE *out) ASTNode *m = f->impl_trait.methods; while (m) { + if (m->func.generic_params) + { + m = m->next; + continue; + } if (m->func.is_async) { fprintf(out, "Async %s(%s);\n", m->func.name, m->func.args); diff --git a/src/codegen/codegen_stmt.c b/src/codegen/codegen_stmt.c index 983130c..54c6a14 100644 --- a/src/codegen/codegen_stmt.c +++ b/src/codegen/codegen_stmt.c @@ -551,7 +551,7 @@ void codegen_node_single(ParserContext *ctx, ASTNode *node, FILE *out) fprintf(out, ";\n"); break; case NODE_FUNCTION: - if (!node->func.body) + if (!node->func.body || node->func.generic_params) { break; } |
