From 688a63234fa304f7bec50b1e6aa67f3c3db3e619 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 14 Jan 2021 18:05:36 -0600 Subject: [PATCH] BROKEN BUILD; want to debug on windows --- bin/onyx | Bin 322248 -> 322288 bytes include/onyxastnodes.h | 2 +- src/onyxchecker.c | 105 ++++++++++++++++++++++++++++++----------- src/onyxsymres.c | 3 ++ src/onyxutils.c | 42 +++++++++++++---- 5 files changed, 114 insertions(+), 38 deletions(-) diff --git a/bin/onyx b/bin/onyx index 2137d52ebdf5dce7c577b66be2445761dd4c0faa..bb4dec3c8906134d0fb029a197d5ca05753b2e4e 100755 GIT binary patch delta 77840 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 delta 76645 zcmZ^M34F}Q`~S`)Ari46hsYs|kOUz?2(ct`*szFOomF+T)KQ6}j$jk4?Giq%2X(ep zb<`EDt4LjO-?zHz`m8vsh%^89%x*&bzrVg-GCTKk%`?yQ%*>~c&w3p=>y;hG470

iHobfGw=DhZOrD{@rzQQA?Yf^ny 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 == Ast_Kind_Function) { @@ -308,14 +308,29 @@ static AstTyped* match_overloaded_function(bh_arr(AstTyped *) arg_arr, bh_arr(As if (overload == NULL) continue; - fill_in_type((AstTyped *) overload); + bh_arr(AstTyped *) new_arg_arr = arg_arr; + if (named_values != NULL && bh_arr_length(named_values) > 0) { + new_arg_arr = NULL; + bh_arr_new(global_heap_allocator, new_arg_arr, bh_arr_length(arg_arr) + bh_arr_length(named_values)); + fori (i, 0, bh_arr_length(arg_arr)) + new_arg_arr[i] = arg_arr[i]; + + b32 values_place_correctly = fill_in_arguments( + (bh_arr(AstNode *)) new_arg_arr, + named_values, + (AstNode *) overload, + NULL); + + if (!values_place_correctly) goto no_match; + } + fill_in_type((AstTyped *) overload); TypeFunction* ol_type = &overload->type->Function; - if (bh_arr_length(arg_arr) < (i32) ol_type->needed_param_count) continue; + if (bh_arr_length(new_arg_arr) < (i32) ol_type->needed_param_count) continue; i32 param_left = ol_type->param_count; Type** param_type = ol_type->params; - bh_arr_each(AstTyped*, arg, arg_arr) { + bh_arr_each(AstTyped*, arg, new_arg_arr) { if (param_left == 0) goto no_match; param_left--; @@ -337,11 +352,28 @@ static AstTyped* match_overloaded_function(bh_arr(AstTyped *) arg_arr, bh_arr(As return (AstTyped *) *node; no_match: + if (named_values != NULL) + bh_arr_free(new_arg_arr); + continue; } return NULL; } +CheckStatus check_argument(AstArgument** parg) { + CHECK(expression, (AstTyped **) parg); + (*parg)->type = (*parg)->value->type; + + if ((*parg)->value->kind == Ast_Kind_Overloaded_Function) { + onyx_report_error((*parg)->token->pos, + "Cannot pass overloaded function '%b' as argument.", + (*parg)->value->token->text, (*parg)->value->token->length); + return Check_Error; + } + + return Check_Success; +} + typedef enum ArgState { AS_Expecting_Exact, AS_Expecting_Typed_VA, @@ -365,24 +397,17 @@ CheckStatus check_call(AstCall* call) { CHECK(expression, &call->callee); AstFunction* callee = (AstFunction *) call->callee; - bh_arr(AstArgument *) arg_arr = call->arg_arr; - // NOTE: Check arguments - bh_arr_each (AstArgument *, actual, arg_arr) { - CHECK(expression, (AstTyped **) actual); - (*actual)->type = (*actual)->value->type; - - if ((*actual)->value->kind == Ast_Kind_Overloaded_Function) { - onyx_report_error((*actual)->token->pos, - "Cannot pass overloaded function '%b' as argument.", - (*actual)->value->token->text, (*actual)->value->token->length); - return Check_Error; - } - } + bh_arr_each(AstArgument *, actual, call->arg_arr) + CHECK(argument, actual); + + bh_arr_each(AstNamedValue *, named_value, call->named_args) + CHECK(argument, (AstArgument **) &(*named_value)->value); if (callee->kind == Ast_Kind_Overloaded_Function) { call->callee = match_overloaded_function( (bh_arr(AstTyped *)) call->arg_arr, + call->named_args, ((AstOverloadedFunction *) callee)->overloads); if (call->callee == NULL) { @@ -396,6 +421,20 @@ CheckStatus check_call(AstCall* call) { strncat(arg_str, ", ", 1023); } + if (bh_arr_length(call->named_args) > 0) { + bh_arr_each(AstNamedValue *, named_value, call->named_args) { + token_toggle_end((*named_value)->token); + strncat(arg_str, (*named_value)->token->text, 1023); + token_toggle_end((*named_value)->token); + + strncat(arg_str, "=", 1023); + strncat(arg_str, type_get_name(((AstTyped *) (*named_value)->value)->type), 1023); // CHECK: this might say 'unknown'. + + if (named_value != &bh_arr_last(call->named_args)) + strncat(arg_str, ", ", 1023); + } + } + onyx_report_error(call->token->pos, "unable to match overloaded function with provided argument types: (%s)", arg_str); bh_free(global_scratch_allocator, arg_str); @@ -431,18 +470,26 @@ CheckStatus check_call(AstCall* call) { return Check_Error; } - if (callee->kind == Ast_Kind_Function) { - if (bh_arr_length(arg_arr) < bh_arr_length(callee->params)) { - while (bh_arr_length(arg_arr) < bh_arr_length(callee->params) - && callee->params[bh_arr_length(arg_arr)].default_value != NULL) { - AstTyped* dv = callee->params[bh_arr_length(arg_arr)].default_value; + i32 arg_count = bh_max( + bh_arr_length(call->arg_arr) + bh_arr_length(call->named_args), + (i32) callee->type->Function.param_count); - AstArgument* new_arg = make_argument(semstate.node_allocator, dv); - bh_arr_push(arg_arr, new_arg); - } + bh_arr_grow(call->arg_arr, arg_count); + fori (i, bh_arr_length(call->arg_arr), arg_count) call->arg_arr[i] = NULL; + bh_arr_set_length(call->arg_arr, arg_count); + + { + char* err_msg = NULL; + fill_in_arguments((AstNode **) call->arg_arr, call->named_args, (AstNode *) callee, &err_msg); + + if (err_msg != NULL) { + onyx_report_error(call->token->pos, err_msg); + return Check_Error; } } + bh_arr(AstArgument *) arg_arr = call->arg_arr; + // NOTE: If we are calling an intrinsic function, translate the // call into an intrinsic call node. if (callee->flags & Ast_Flag_Intrinsic) { @@ -723,7 +770,7 @@ static AstCall* binaryop_try_operator_overload(AstBinaryOp* binop) { bh_arr_push(args, binop->left); bh_arr_push(args, binop->right); - AstTyped* overload = match_overloaded_function(args, operator_overloads[binop->operation]); + AstTyped* overload = match_overloaded_function(args, NULL, operator_overloads[binop->operation]); if (overload == NULL) { bh_arr_free(args); return NULL; @@ -968,7 +1015,11 @@ CheckStatus check_struct_literal(AstStructLiteral* sl) { bh_arr_grow(sl->values, mem_count); fori (i, bh_arr_length(sl->values), mem_count) sl->values[i] = NULL; bh_arr_set_length(sl->values, mem_count); - if (!fill_in_arguments((bh_arr(AstNode *)) sl->values, sl->named_values, (AstNode *) sl)) { + + char* err_msg = NULL; + if (!fill_in_arguments((bh_arr(AstNode *)) sl->values, sl->named_values, (AstNode *) sl, &err_msg)) { + onyx_report_error(sl->token->pos, err_msg); + bh_arr_each(AstTyped *, value, sl->values) { if (*value == NULL) { i32 member_idx = value - sl->values; // Pointer subtraction hack diff --git a/src/onyxsymres.c b/src/onyxsymres.c index 71b90e08..acb7c988 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -242,6 +242,9 @@ static void symres_call(AstCall* call) { bh_arr_each(AstArgument *, arg, call->arg_arr) symres_statement((AstNode **) arg); + + bh_arr_each(AstNamedValue *, named_arg, call->named_args) + symres_statement(&(*named_arg)->value); } static void symres_size_of(AstSizeOf* so) { diff --git a/src/onyxutils.c b/src/onyxutils.c index 4be805a6..9c5ab5ab 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -372,18 +372,33 @@ static bh_arr(AstPolySolution) find_polymorphic_slns(AstPolyProc* pp, PolyProcLo Type* actual_type; if (pp_lookup == PPLM_By_Call) { - if (param->idx >= (u64) bh_arr_length(((AstCall *) actual)->arg_arr)) { - if (err_msg) *err_msg = "Not enough arguments to polymorphic procedure."; + bh_arr(AstArgument *) arg_arr = ((AstCall *) actual)->arg_arr; + bh_arr(AstNamedValue *) named_values = ((AstCall *) actual)->named_args; + + if (param->idx >= (u64) bh_arr_length(arg_arr)) { + // CLEANUP: This is a really long access chain. + OnyxToken* param_name = pp->base_func->params[param->idx].local->token; + + bh_arr_each(AstNamedValue *, named_value, named_values) { + if (token_equals(param_name, (*named_value)->token)) { + actual_type = resolve_expression_type((AstTyped *) (*named_value)->value); + break; + } + } + + // nocheckin + if (err_msg) *err_msg = "Not enough arguments to polymorphic procedure. This error message may not be entirely right."; goto sln_not_found; - } - bh_arr(AstArgument *) arg_arr = ((AstCall *) actual)->arg_arr; - actual_type = resolve_expression_type(arg_arr[param->idx]->value); + } else { + actual_type = resolve_expression_type(arg_arr[param->idx]->value); + } } else if (pp_lookup == PPLM_By_Value_Array) { bh_arr(AstTyped *) arg_arr = (bh_arr(AstTyped *)) actual; + // nocheckin if ((i32) param->idx >= bh_arr_length(arg_arr)) { if (err_msg) *err_msg = "Not enough arguments to polymorphic procedure."; goto sln_not_found; @@ -884,7 +899,8 @@ static AstNode* lookup_default_value_by_idx(AstNode* provider, i32 idx) { case Ast_Kind_Function: { AstFunction* func = (AstFunction *) provider; - return (AstNode *) func->params[idx].default_value; + AstArgument* arg = make_argument(semstate.node_allocator, func->params[idx].default_value); + return (AstNode *) arg; } default: return NULL; @@ -893,22 +909,28 @@ static AstNode* lookup_default_value_by_idx(AstNode* provider, i32 idx) { // 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(bh_arr(AstNode *) values, bh_arr(AstNamedValue *) named_values, AstNode* provider) { +b32 fill_in_arguments(bh_arr(AstNode *) values, bh_arr(AstNamedValue *) named_values, AstNode* provider, char** err_msg) { bh_arr_each(AstNamedValue *, p_named_value, named_values) { AstNamedValue* named_value = *p_named_value; token_toggle_end(named_value->token); i32 idx = lookup_idx_by_name(provider, named_value->token->text); if (idx == -1) { - onyx_report_error(provider->token->pos, "'%s' is not a valid named parameter here.", named_value->token->text); + if (err_msg) *err_msg = bh_aprintf(global_heap_allocator, "'%s' is not a valid named parameter here.", named_value->token->text); token_toggle_end(named_value->token); return 0; } - token_toggle_end(named_value->token); - assert(idx < bh_arr_length(values)); + + if (values[idx] != NULL) { + if (err_msg) *err_msg = bh_aprintf(global_heap_allocator, "Multiple values given for parameter named '%s'.", named_value->token->text); + token_toggle_end(named_value->token); + return 0; + } + values[idx] = named_value->value; + token_toggle_end(named_value->token); } b32 success = 1; -- 2.25.1