From b558462831a778464c33f4192def8ebcfe3309c5 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 14 Jun 2021 23:37:53 -0500 Subject: [PATCH] small optimizations and working on json library --- bin/onyx | Bin 409616 -> 409664 bytes modules/json/decoder.onyx | 6 ++-- modules/json/module.onyx | 3 +- modules/json/types.onyx | 57 +++++++++++++++++++++++++++++++++----- src/onyxtypes.c | 9 ++++-- 5 files changed, 61 insertions(+), 14 deletions(-) diff --git a/bin/onyx b/bin/onyx index 6a272f27c86fe72d5a9b90f1b0453b939db09380..9c856b9f9d32fa1743467ca1b1db90735047a061 100755 GIT binary patch delta 80903 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

y0OV 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�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 Uy#t)RGrsA?A1_w9eViTt14M888UO$Q diff --git a/modules/json/decoder.onyx b/modules/json/decoder.onyx index 8d6443ed..003f04c6 100644 --- a/modules/json/decoder.onyx +++ b/modules/json/decoder.onyx @@ -1,11 +1,11 @@ package json use package core -decode_string :: (data: str, allocator := context.allocator) -> Value { +decode_string :: (data: str, allocator := context.allocator) -> ^Value { stream := io.string_stream_make(data); return decode(^stream, allocator); } -decode :: (stream: ^io.Stream, allocator := context.allocator) -> Value { - +decode :: (stream: ^io.Stream, allocator := context.allocator) -> ^Value { + } \ No newline at end of file diff --git a/modules/json/module.onyx b/modules/json/module.onyx index 6d8d8ceb..d8ce7fb9 100644 --- a/modules/json/module.onyx +++ b/modules/json/module.onyx @@ -4,4 +4,5 @@ package json #load "./encoder" -#load "./decoder" \ No newline at end of file +#load "./decoder" +#load "./types" \ No newline at end of file diff --git a/modules/json/types.onyx b/modules/json/types.onyx index cec32eff..b4c4c72e 100644 --- a/modules/json/types.onyx +++ b/modules/json/types.onyx @@ -1,10 +1,11 @@ package json +use package core -use package core.map { Map } +null_value : Value Value :: struct { Type :: enum { - Null; + Null :: 0x00; Bool; Integer; Float; @@ -13,13 +14,55 @@ Value :: struct { Object; } - type : Type; - value : struct #union { + KeyValue :: struct { + key : str; + value : ^Value; + } + + type : Type; + allocator : Allocator; + use value : struct #union { bool_ : bool; int_ : i64; float_ : f64; str_ : str; - array_ : [..] Value; - object_ : Map(str, Value); + + @CompilerBug @Cleanup // I don't want these to be pointers in the long run. In theory, they should be + // able to be normal values, but there is a compiler bug that prevents the size and alignment of Value + // being known. + array_ : [..] ^Value; + object_ : [..] KeyValue; + }; +} + +is_null :: (v: ^Value) -> bool { + if v == null do return true; + return v == ^null_value || v.type == .Null; +} + +to_str :: (v: ^Value) -> str do return null_str; + +get :: (v: ^Value, key: str) -> ^Value { + if v.type != .Object do return ^null_value; + + for ^entry: v.object_ { + if entry.key == key do return entry.value; + } + return ^null_value; +} + +free :: (v: ^Value) do switch v.type { + case .Array { + for elem: v.array_ { + free(elem); + } + array.free(^v.array_); + } + + case .Object { + for ^entry: v.object_ { + free(entry.value); + } + array.free(^v.object_); } -} \ No newline at end of file +} diff --git a/src/onyxtypes.c b/src/onyxtypes.c index 3ad513ee..ae2b26da 100644 --- a/src/onyxtypes.c +++ b/src/onyxtypes.c @@ -300,15 +300,18 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { s_type->Struct.unique_id = next_unique_id++; s_type->Struct.mem_count = bh_arr_length(s_node->members); + s_type->Struct.memarr = NULL; + bh_table_init(global_heap_allocator, s_type->Struct.members, s_type->Struct.mem_count + 1); + bh_arr_new(global_heap_allocator, s_type->Struct.memarr, s_type->Struct.mem_count); + } else { s_type = s_node->stcache; } - s_type->Struct.memarr = NULL; s_type->Struct.poly_sln = NULL; - bh_table_init(global_heap_allocator, s_type->Struct.members, s_type->Struct.mem_count + 1); - bh_arr_new(global_heap_allocator, s_type->Struct.memarr, s_type->Struct.mem_count); + bh_arr_clear(s_type->Struct.memarr); + bh_table_clear(s_type->Struct.members); s_node->stcache_is_valid = 1; -- 2.25.1