From 2e2071fd44001f151da0928a292e688097712ec9 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sun, 30 Aug 2020 11:11:10 -0500 Subject: [PATCH] added '#add_overload' directive --- core/builtin.onyx | 6 +++--- core/stdio.onyx | 2 ++ include/onyxastnodes.h | 4 ++++ onyx | Bin 580416 -> 580768 bytes progs/poly_test.onyx | 41 ++++++++++++++++++----------------------- src/onyxparser.c | 12 +++++++++++- src/onyxsymres.c | 14 ++++++++++++++ 7 files changed, 52 insertions(+), 27 deletions(-) diff --git a/core/builtin.onyx b/core/builtin.onyx index 694a0744..7f1dc555 100644 --- a/core/builtin.onyx +++ b/core/builtin.onyx @@ -67,13 +67,13 @@ array_ensure_capacity :: proc (arr: ^[..] $T, cap: u32) { arr.data = cresize(arr.data, sizeof T * arr.capacity); } -array_add :: proc (arr: ^[..] $T, x: T) { +array_push :: proc (arr: ^[..] $T, x: T) { array_ensure_capacity(arr, arr.count + 1); arr.data[arr.count] = x; arr.count += 1; } -array_add_at :: proc (arr: ^[..] $T, x: T, idx: u32) { +array_insert :: proc (arr: ^[..] $T, idx: u32, x: T) { array_ensure_capacity(arr, arr.count + 1); arr.count += 1; @@ -96,7 +96,7 @@ array_remove :: proc (arr: ^[..] $T, elem: T) { arr.count -= move; } -array_remove_at :: proc (arr: ^[..] $T, idx: u32) { +array_delete :: proc (arr: ^[..] $T, idx: u32) { if idx >= arr.count do return; for i: idx, arr.count - 1 { diff --git a/core/stdio.onyx b/core/stdio.onyx index 9402b756..b6afabe5 100644 --- a/core/stdio.onyx +++ b/core/stdio.onyx @@ -13,6 +13,7 @@ print_cstring :: proc (s: cstring) do string_builder_append(^cout_state.sb, s); print_i64 :: proc (n: i64, base := 10l) do string_builder_append(^cout_state.sb, n, base); print_i32 :: proc (n: i32, base := 10) do string_builder_append(^cout_state.sb, cast(i64) n, cast(u64) base); print_bool :: proc (b: bool) do string_builder_append(^cout_state.sb, b); +print_ptr :: proc (p: rawptr) do string_builder_append(^cout_state.sb, cast(i64) p, 16l); print :: proc #overloaded { print_string, @@ -20,6 +21,7 @@ print :: proc #overloaded { print_i64, print_i32, print_bool, + print_ptr, } print_flush :: proc { diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 7d310690..ca2d678c 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -464,6 +464,10 @@ struct AstFunction { AstBlock *body; bh_arr(AstLocal *) locals; + // NOTE: used by the #add_overload directive. Initially set to a symbol, + // then resolved to an overloaded function. + AstNode *overloaded_function; + union { // NOTE: Used when a function is exported with a specific name OnyxToken* exported_name; diff --git a/onyx b/onyx index fb29383a70d23a223cee9f1396eb95a4b30cbbd9..41dca3893c87640dac97b09c424a0e52c35fc807 100755 GIT binary patch delta 102946 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

}E7%Ro)Yb^yPhLo4k6 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

TbQToaFVYwi_~*sJASUo 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

~Rakg-`wvd% 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 u32 do return x.count; - SOA :: struct { a : [..] i32; b : [..] i64; @@ -86,8 +81,8 @@ main :: proc (args: [] cstring) { print_arr_details(^s.b); for i: 0, 100 { - array_add(^s.a, 5 * i); - array_add(^s.b, 3l * cast(i64) i); + array_push(^s.a, 5 * i); + array_push(^s.b, 3l * cast(i64) i); } print_arr(^s.a); @@ -110,14 +105,14 @@ main2 :: proc (args: [] cstring) { print_arr_details(^iarr); - array_add(^iarr, 1234); + array_push(^iarr, 1234); - for i: 0, 12 do array_add(^iarr, i % 5); + for i: 0, 12 do array_push(^iarr, i % 5); print_arr_details(^iarr); print_arr(^iarr); - array_remove_at(^iarr, 4); + array_delete(^iarr, 4); print_arr_details(^iarr); print_arr(^iarr); @@ -128,7 +123,7 @@ main2 :: proc (args: [] cstring) { print_arr_details(^iarr); print_arr(^iarr); - array_add_at(^iarr, 5678, 2); + array_insert(^iarr, 2, 5678); print_arr_details(^iarr); print_arr(^iarr); @@ -142,7 +137,7 @@ main2 :: proc (args: [] cstring) { defer array_free(^barr); for i: 0, 500 { - array_add(^barr, cast(u64) (3 * i * i + 4 * i - 2)); + array_push(^barr, cast(u64) (3 * i * i + 4 * i - 2)); } print_arr_details(^barr); @@ -161,17 +156,17 @@ main2 :: proc (args: [] cstring) { defer array_free(^varr); for i: 0, 20 { - array_add(^varr, Vec3.{ + array_push(^varr, Vec3.{ x = i, y = i * i, z = i * i * i, }); } - array_add(^varr, Vec3.{ 4, 2, 3 }); + array_push(^varr, Vec3.{ 4, 2, 3 }); print_arr_details(^varr); - print_vec_arr(varr); + print_arr(varr); print(get_count(iarr)); print("\n"); diff --git a/src/onyxparser.c b/src/onyxparser.c index 223ccbd0..738c9064 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -1466,7 +1466,17 @@ static AstFunction* parse_function_definition(OnyxParser* parser) { return (AstFunction *) ofunc; } - if (parse_possible_directive(parser, "intrinsic")) { + if (parse_possible_directive(parser, "add_overload")) { + if (func_def->overloaded_function != NULL) { + onyx_report_error(parser->curr->pos, "cannot have multiple #add_overload directives on a single procedure."); + } else { + AstNode* sym_node = make_node(AstNode, Ast_Kind_Symbol); + sym_node->token = expect_token(parser, Token_Type_Symbol); + func_def->overloaded_function = sym_node; + } + } + + else if (parse_possible_directive(parser, "intrinsic")) { func_def->flags |= Ast_Flag_Intrinsic; if (parser->curr->type == Token_Type_Literal_String) { diff --git a/src/onyxsymres.c b/src/onyxsymres.c index a91641ad..e048f544 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -465,6 +465,20 @@ void symres_function(AstFunction* func) { } } + if (func->overloaded_function != NULL) { + symres_expression((AstTyped **) &func->overloaded_function); + if (func->overloaded_function == NULL) return; // NOTE: Error message will already be generated + + if (func->overloaded_function->kind != Ast_Kind_Overloaded_Function) { + onyx_report_error(func->token->pos, "#add_overload directive did not resolve to an overloaded function."); + return; + + } else { + AstOverloadedFunction* ofunc = (AstOverloadedFunction *) func->overloaded_function; + bh_arr_push(ofunc->overloads, (AstTyped *) func); + } + } + func->return_type = symres_type(func->return_type); scope_enter(func->scope); -- 2.25.1