From e11abc65ff79413fa3f799a294f34c64095bf651 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 1 Jun 2021 13:39:25 -0500 Subject: [PATCH] fixed overloaded procedures with named baked value arguments --- bin/onyx | Bin 366208 -> 366208 bytes src/onyxutils.c | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/bin/onyx b/bin/onyx index dc3d228877a870d61bec4aaf80c3e19225fae247..8b9ec16d5dd2a7688b52f98a14dc1dfba7f6442f 100755 GIT binary patch delta 33848 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 O;TLG5QGJ-FM*RnVz5t*A delta 33426 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 AMF0Q* diff --git a/src/onyxutils.c b/src/onyxutils.c index a2d2fb45..0c568207 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -674,7 +674,7 @@ static void solve_for_polymorphic_param_value(PolySolveResult* resolved, AstPoly if (param->type_expr == (AstType *) &type_expr_symbol) { if (!node_is_type((AstNode *) value)) { - *err_msg = "Expected type expression."; + if (err_msg) *err_msg = "Expected type expression."; return; } @@ -683,7 +683,7 @@ static void solve_for_polymorphic_param_value(PolySolveResult* resolved, AstPoly } else { if ((value->flags & Ast_Flag_Comptime) == 0) { - *err_msg = "Expected compile-time known argument."; + if (err_msg) *err_msg = "Expected compile-time known argument."; return; } @@ -691,7 +691,7 @@ static void solve_for_polymorphic_param_value(PolySolveResult* resolved, AstPoly param->type = type_build_from_ast(context.ast_alloc, param->type_expr); if (!type_check_or_auto_cast(&value, param->type)) { - *err_msg = bh_aprintf(global_scratch_allocator, + if (err_msg) *err_msg = bh_aprintf(global_scratch_allocator, "The procedure '%s' expects a value of type '%s' for %d%s parameter, got '%s'.", get_function_name(pp->base_func), type_get_name(param->type), @@ -1028,6 +1028,7 @@ AstTyped* find_matching_overload_by_arguments(bh_arr(AstTyped *) overloads, Argu if (type_to_match->kind == Type_Kind_VarArgs) type_to_match = type_to_match->VarArgs.ptr_to_data->Pointer.elem; if ((*value)->kind == Ast_Kind_Argument) { + // :ArgumentResolvingIsComplicated if (((AstArgument *) (*value))->is_baked) continue; value = &((AstArgument *) *value)->value; } @@ -1365,10 +1366,36 @@ static i32 maximum_argument_count(AstNode* provider) { // NOTE: The values array can be partially filled out, and is the resulting array. // Returns if all the values were filled in. b32 fill_in_arguments(Arguments* args, AstNode* provider, char** err_msg) { + + { // Delete baked arguments + // :ArgumentResolvingIsComplicated + i32 max = bh_arr_length(args->values); + fori (i, 0, max) { + AstTyped* value = args->values[i]; + if (value == NULL) continue; + + if (value->kind == Ast_Kind_Argument) { + if (((AstArgument *) value)->is_baked) { + i--; + max--; + bh_arr_deleten(args->values, i, 1); + } + } + } + } + if (args->named_values != NULL) { bh_arr_each(AstNamedValue *, p_named_value, args->named_values) { AstNamedValue* named_value = *p_named_value; + if (named_value->value->kind == Ast_Kind_Argument) { + if (((AstArgument *) named_value->value)->is_baked) { + // :ArgumentResolvingIsComplicated + bh_arr_set_length(args->values, bh_arr_length(args->values) - 1); + continue; + } + } + token_toggle_end(named_value->token); i32 idx = lookup_idx_by_name(provider, named_value->token->text); if (idx == -1) { -- 2.25.1