Remove #relative slices; Replace with #relative multi-pointers

This commit is contained in:
gingerBill
2023-08-05 16:05:39 +01:00
parent afa8eb2d6f
commit c91898a888
29 changed files with 367 additions and 452 deletions
+5 -5
View File
@@ -162,11 +162,11 @@ Type_Info_Simd_Vector :: struct {
count: int,
}
Type_Info_Relative_Pointer :: struct {
pointer: ^Type_Info,
pointer: ^Type_Info, // ^T
base_integer: ^Type_Info,
}
Type_Info_Relative_Slice :: struct {
slice: ^Type_Info,
Type_Info_Relative_Multi_Pointer :: struct {
pointer: ^Type_Info, // [^]T
base_integer: ^Type_Info,
}
Type_Info_Matrix :: struct {
@@ -219,7 +219,7 @@ Type_Info :: struct {
Type_Info_Bit_Set,
Type_Info_Simd_Vector,
Type_Info_Relative_Pointer,
Type_Info_Relative_Slice,
Type_Info_Relative_Multi_Pointer,
Type_Info_Matrix,
Type_Info_Soa_Pointer,
},
@@ -252,7 +252,7 @@ Typeid_Kind :: enum u8 {
Bit_Set,
Simd_Vector,
Relative_Pointer,
Relative_Slice,
Relative_Multi_Pointer,
Matrix,
}
#assert(len(Typeid_Kind) < 32)
+2 -2
View File
@@ -471,11 +471,11 @@ print_type :: proc "contextless" (ti: ^Type_Info) {
print_string(") ")
print_type(info.pointer)
case Type_Info_Relative_Slice:
case Type_Info_Relative_Multi_Pointer:
print_string("#relative(")
print_type(info.base_integer)
print_string(") ")
print_type(info.slice)
print_type(info.pointer)
case Type_Info_Matrix:
print_string("matrix[")