aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-08-05 15:12:54 +0100
committergingerBill <gingerBill@users.noreply.github.com>2025-08-05 15:12:54 +0100
commitaf3184adc96cef59fff986ea6400caa6dbdb56ae (patch)
tree7729ec8ac632b9b4bd449978aca997238188e3af /core
parenteae43f122556f7219dc05a8fb7674a122ad977ba (diff)
Change `is_utf16` field to `encoding` and use an enum
Diffstat (limited to 'core')
-rw-r--r--core/encoding/cbor/tags.odin2
-rw-r--r--core/encoding/cbor/unmarshal.odin2
-rw-r--r--core/encoding/json/unmarshal.odin2
-rw-r--r--core/flags/internal_rtti.odin2
-rw-r--r--core/reflect/types.odin5
5 files changed, 7 insertions, 6 deletions
diff --git a/core/encoding/cbor/tags.odin b/core/encoding/cbor/tags.odin
index e0e69cbf5..ae1664dfc 100644
--- a/core/encoding/cbor/tags.odin
+++ b/core/encoding/cbor/tags.odin
@@ -298,7 +298,7 @@ tag_base64_unmarshal :: proc(_: ^Tag_Implementation, d: Decoder, _: Tag_Number,
#partial switch t in ti.variant {
case reflect.Type_Info_String:
- assert(!t.is_utf16)
+ assert(t.encoding == .UTF_8)
if t.is_cstring {
length := base64.decoded_len(bytes)
builder := strings.builder_make(0, length+1)
diff --git a/core/encoding/cbor/unmarshal.odin b/core/encoding/cbor/unmarshal.odin
index 2840429f5..043b2ec60 100644
--- a/core/encoding/cbor/unmarshal.odin
+++ b/core/encoding/cbor/unmarshal.odin
@@ -335,7 +335,7 @@ _unmarshal_value :: proc(d: Decoder, v: any, hdr: Header, allocator := context.a
_unmarshal_bytes :: proc(d: Decoder, v: any, ti: ^reflect.Type_Info, hdr: Header, add: Add, allocator := context.allocator, loc := #caller_location) -> (err: Unmarshal_Error) {
#partial switch t in ti.variant {
case reflect.Type_Info_String:
- assert(!t.is_utf16)
+ assert(t.encoding == .UTF_8)
bytes := err_conv(_decode_bytes(d, add, allocator=allocator, loc=loc)) or_return
diff --git a/core/encoding/json/unmarshal.odin b/core/encoding/json/unmarshal.odin
index 51e7e3b81..0b65adaac 100644
--- a/core/encoding/json/unmarshal.odin
+++ b/core/encoding/json/unmarshal.odin
@@ -571,7 +571,7 @@ unmarshal_object :: proc(p: ^Parser, v: any, end_token: Token_Kind) -> (err: Unm
#partial switch tk in t.key.variant {
case runtime.Type_Info_String:
- assert(!tk.is_utf16)
+ assert(tk.encoding == .UTF_8)
key_ptr = rawptr(&key)
key_cstr: cstring
diff --git a/core/flags/internal_rtti.odin b/core/flags/internal_rtti.odin
index 58224cc87..a1b050597 100644
--- a/core/flags/internal_rtti.odin
+++ b/core/flags/internal_rtti.odin
@@ -127,7 +127,7 @@ parse_and_set_pointer_by_base_type :: proc(ptr: rawptr, str: string, type_info:
}
case runtime.Type_Info_String:
- assert(!specific_type_info.is_utf16)
+ assert(specific_type_info.encoding == .UTF_8)
if specific_type_info.is_cstring {
cstr_ptr := (^cstring)(ptr)
diff --git a/core/reflect/types.odin b/core/reflect/types.odin
index 2351408cc..98b7b368f 100644
--- a/core/reflect/types.odin
+++ b/core/reflect/types.odin
@@ -514,8 +514,9 @@ write_type_writer :: #force_no_inline proc(w: io.Writer, ti: ^Type_Info, n_writt
io.write_byte(w, 'c', &n) or_return
}
io.write_string(w, "string", &n) or_return
- if info.is_utf16 {
- io.write_string(w, "16", &n) or_return
+ switch info.encoding {
+ case .UTF_8: /**/
+ case .UTF_16: io.write_string(w, "16", &n) or_return
}
case Type_Info_Boolean:
switch ti.id {