From 38a62f9813e78f114d45fc48ea81be39ec76b90d Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 12 Apr 2021 14:27:31 -0500 Subject: [PATCH] overloads of overloads --- .vimspector.json | 2 +- bin/onyx | Bin 344440 -> 348584 bytes examples/14_overloaded_procs.onyx | 24 ++++++++++++++++++++ include/onyxastnodes.h | 5 +++++ src/onyxchecker.c | 10 +++------ src/onyxutils.c | 35 +++++++++++++++++++++++++----- 6 files changed, 63 insertions(+), 13 deletions(-) diff --git a/.vimspector.json b/.vimspector.json index d343fe44..165d6642 100644 --- a/.vimspector.json +++ b/.vimspector.json @@ -6,7 +6,7 @@ "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/bin/onyx", - "args": ["-VVV", "tmp/a"], + "args": ["-VVV", "tmp/better_overloads.onyx"], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], diff --git a/bin/onyx b/bin/onyx index ad5f0d5c5860ba6254d510f9107f5e57239ebebc..478d054936f6b358c2c31bfaa23f38a4fb9b5a57 100755 GIT binary patch delta 107278 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%0DjBPrt68Kx{WQC(Rl_PH`-n917fK~ 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 WyGZU5*S7LU*-C5_BPxHTr~WUA5j9l+ delta 106862 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 VeQ!$bkokClq4iT_=J!_Z{{@84{0#sA diff --git a/examples/14_overloaded_procs.onyx b/examples/14_overloaded_procs.onyx index ddf56f41..ad91d8f3 100644 --- a/examples/14_overloaded_procs.onyx +++ b/examples/14_overloaded_procs.onyx @@ -1,3 +1,27 @@ +// CLEANUP: FINISH THIS EXAMPLE WHEN OVERLOADS ARE BETTER + + +// Overloaded procedures, if you're not familiar with the concept, means that a +// given procedure has multiple implementations and which one is used depends on +// the arguments provided. For the sake of simplicity, both for the internal +// compiler architecture, and for the programmer, Onyx does not support implicitly +// overloaded procedures. This means that if you write, +// +// foo :: (x: i32) { ... } +// foo :: (x: str) { ... } +// +// you will get a compile time error saying that the symbol 'foo' was defined +// multiple times. Instead, to do the above in Onyx, you create a explicitly +// overloaded procedure, +// +// foo :: proc { +// (x: i32) { ... }, +// (y: str) { ... }, +// } +// + + + #load "core/std" use package core diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 5d30efbc..7a5039b8 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -792,6 +792,11 @@ struct AstOverloadedFunction { AstTyped_base; bh_arr(AstTyped *) overloads; + + // CLEANUP: This is unused right now, but should be used to cache + // the complete set of overloads that can be used by an overloaded + // function. + bh_imap all_overloads; }; struct AstPackage { diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 0d64b75c..ef55f05d 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -1502,13 +1502,9 @@ CheckStatus check_function(AstFunction* func) { CheckStatus check_overloaded_function(AstOverloadedFunction* func) { bh_arr_each(AstTyped *, node, func->overloads) { - if ((*node)->kind == Ast_Kind_Overloaded_Function) { - onyx_report_error((*node)->token->pos, "Overload option can not be another overloaded function."); - - return Check_Error; - } - - if ((*node)->kind != Ast_Kind_Function && (*node)->kind != Ast_Kind_Polymorphic_Proc) { + if ( (*node)->kind != Ast_Kind_Function + && (*node)->kind != Ast_Kind_Polymorphic_Proc + && (*node)->kind != Ast_Kind_Overloaded_Function) { onyx_report_error((*node)->token->pos, "Overload option not procedure. Got '%s'", onyx_ast_node_kind_string((*node)->kind)); diff --git a/src/onyxutils.c b/src/onyxutils.c index 67af166c..ded50804 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -943,20 +943,40 @@ AstFunction* polymorphic_proc_build_only_header(AstPolyProc* pp, PolyProcLookupM // * Resolving an overload from a TypeFunction (so an overloaded procedure can be passed as a parameter) // +static void build_all_overload_options(bh_arr(AstTyped *) overloads, bh_imap* all_overloads) { + bh_arr_each(AstTyped *, node, overloads) { + if (bh_imap_has(all_overloads, (u64) *node)) continue; + + bh_imap_put(all_overloads, (u64) *node, 1); + + if ((*node)->kind == Ast_Kind_Overloaded_Function) { + AstOverloadedFunction* sub_overload = (AstOverloadedFunction *) *node; + build_all_overload_options(sub_overload->overloads, all_overloads); + } + } +} + AstTyped* find_matching_overload_by_arguments(bh_arr(AstTyped *) overloads, Arguments* param_args) { Arguments args; arguments_clone(&args, param_args); arguments_ensure_length(&args, bh_arr_length(args.values) + bh_arr_length(args.named_values)); + // CLEANUP SPEED: This currently rebuilds the complete set of overloads every time one is looked up. + // This should be cached in the AstOverloadedFunction or somewhere like that. + bh_imap all_overloads; + bh_imap_init(&all_overloads, global_heap_allocator, bh_arr_length(overloads) * 2); + build_all_overload_options(overloads, &all_overloads); + AstTyped *matched_overload = NULL; - bh_arr_each(AstTyped *, node, overloads) { + bh_arr_each(bh__imap_entry, entry, all_overloads.entries) { + AstTyped* node = (AstTyped *) entry->key; arguments_copy(&args, param_args); AstFunction* overload = NULL; - switch ((*node)->kind) { - case Ast_Kind_Function: overload = (AstFunction *) *node; break; - case Ast_Kind_Polymorphic_Proc: overload = polymorphic_proc_build_only_header((AstPolyProc *) *node, PPLM_By_Arguments, param_args); break; + switch (node->kind) { + case Ast_Kind_Function: overload = (AstFunction *) node; break; + case Ast_Kind_Polymorphic_Proc: overload = polymorphic_proc_build_only_header((AstPolyProc *) node, PPLM_By_Arguments, param_args); break; } // NOTE: Overload is not something that is known to be overloadable. @@ -989,11 +1009,12 @@ AstTyped* find_matching_overload_by_arguments(bh_arr(AstTyped *) overloads, Argu } if (all_arguments_work) { - matched_overload = *node; + matched_overload = node; break; } } + bh_imap_free(&all_overloads); bh_arr_free(args.values); return matched_overload; } @@ -1010,6 +1031,10 @@ void report_unable_to_match_overload(AstCall* call) { } if (bh_arr_length(call->args.named_values) > 0) { + if (bh_arr_length(call->args.values) > 0) { + strncat(arg_str, ", ", 1023); + } + bh_arr_each(AstNamedValue *, named_value, call->args.named_values) { token_toggle_end((*named_value)->token); strncat(arg_str, (*named_value)->token->text, 1023); -- 2.25.1