diff options
| author | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-17 00:10:30 +0000 |
|---|---|---|
| committer | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-17 00:10:30 +0000 |
| commit | ea160abc678e9578b5e140121a6d7c59a3b9dd06 (patch) | |
| tree | 0ae4d0ed1449f74d6cc361a5f8787892c0789168 /src/parser/parser.h | |
| parent | a5d5a97818fb4fbd26c4fb25a5c410b1a60a1b18 (diff) | |
Improved struct pointer codegen, template instantiation and docs...
Diffstat (limited to 'src/parser/parser.h')
| -rw-r--r-- | src/parser/parser.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/parser/parser.h b/src/parser/parser.h index ca8c447..3f2e763 100644 --- a/src/parser/parser.h +++ b/src/parser/parser.h @@ -116,6 +116,7 @@ typedef struct Instantiation char *name; char *template_name; char *concrete_arg; + char *unmangled_arg; // For code substitution (e.g. "struct T*") ASTNode *struct_node; struct Instantiation *next; } Instantiation; @@ -320,7 +321,8 @@ void add_to_impl_list(ParserContext *ctx, ASTNode *node); void add_to_global_list(ParserContext *ctx, ASTNode *node); void register_builtins(ParserContext *ctx); void add_instantiated_func(ParserContext *ctx, ASTNode *fn); -void instantiate_generic(ParserContext *ctx, const char *name, const char *concrete_type, Token t); +void instantiate_generic(ParserContext *ctx, const char *name, const char *concrete_type, + const char *unmangled_type, Token t); void instantiate_generic_multi(ParserContext *ctx, const char *name, char **args, int arg_count, Token t); char *sanitize_mangled_name(const char *name); @@ -390,8 +392,8 @@ void init_builtins(); // Expression rewriting char *rewrite_expr_methods(ParserContext *ctx, char *raw); char *process_fstring(ParserContext *ctx, const char *content, char ***used_syms, int *count); -char *instantiate_function_template(ParserContext *ctx, const char *name, - const char *concrete_type); +char *instantiate_function_template(ParserContext *ctx, const char *name, const char *concrete_type, + const char *unmangled_type); FuncSig *find_func(ParserContext *ctx, const char *name); Type *parse_type_formal(ParserContext *ctx, Lexer *l); |
