From 6c1b5116f7676b6771281564fb23a4bc26ffbe25 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 28 Aug 2020 21:34:56 -0500 Subject: [PATCH] adding array functionality and bugfixes --- core/builtin.onyx | 25 +++++++++++++++++++++++-- onyx | Bin 582512 -> 582536 bytes progs/poly_test.onyx | 22 ++++++++++++++++------ src/onyxutils.c | 2 ++ 4 files changed, 41 insertions(+), 8 deletions(-) diff --git a/core/builtin.onyx b/core/builtin.onyx index e302b252..0191f775 100644 --- a/core/builtin.onyx +++ b/core/builtin.onyx @@ -38,9 +38,9 @@ calloc :: proc (size: u32) -> rawptr do return alloc(context.allocator, size); cresize :: proc (ptr: rawptr, size: u32) -> rawptr do return resize(context.allocator, ptr, size); cfree :: proc (ptr: rawptr) do free(context.allocator, ptr); -array_init :: proc(arr: ^[..] $T) { +array_init :: proc(arr: ^[..] $T, initial_cap := 4) { arr.count = 0; - arr.capacity = 4; + arr.capacity = initial_cap; arr.data = calloc(sizeof T * arr.capacity); } @@ -54,6 +54,27 @@ array_add :: proc (arr: ^[..] $T, x: T) { arr.count += 1; } +array_remove_at :: proc (arr: ^[..] $T, idx: u32) { + if idx >= arr.count do return; + + for i: idx, arr.count - 1 { + arr.data[i] = arr.data[i + 1]; + } + + arr.count -= 1; +} + +array_remove :: proc (arr: ^[..] $T, elem: T) { + move := 0; + + for i: 0, arr.count - move { + if arr.data[i + move] == elem do move += 1; + if move != 0 do arr.data[i] = arr.data[i + move]; + } + + arr.count -= move; +} + context : struct { allocator : Allocator; temp_allocator : Allocator; diff --git a/onyx b/onyx index 7bf59014dd505ae7263ae8004e893d0b5d2a6c32..1ed9b95e71601b88df7cfe7eba62694c5bd728b1 100755 GIT binary patch delta 20546 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 delta 20465 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, key_buf, func); symres_function(func); + if (onyx_message_has_errors()) return NULL; if (check_function_header(func)) return NULL; if (check_function(func)) return NULL; + if (onyx_message_has_errors()) return NULL; bh_arr_push(semstate.other_entities, ((Entity) { .type = Entity_Type_Function_Header, -- 2.25.1