Update doc format for multi-pointers

This commit is contained in:
gingerBill
2021-08-22 11:46:26 +01:00
parent 19bf12aa09
commit 36a6805b7c
3 changed files with 7 additions and 0 deletions

View File

@@ -166,6 +166,7 @@ Type_Kind :: enum u32le {
SOA_Struct_Dynamic = 19,
Relative_Pointer = 20,
Relative_Slice = 21,
Multi_Pointer = 22,
}
Type_Elems_Cap :: 4;
@@ -222,6 +223,7 @@ Type :: struct {
// .Simd_Vector - 1 type: 0=element
// .Relative_Pointer - 2 types: 0=pointer type, 1=base integer
// .Relative_Slice - 2 types: 0=slice type, 1=base integer
// .Multi_Pointer - 1 type: 0=element
types: Array(Type_Index),
// Used by:

View File

@@ -81,6 +81,7 @@ enum OdinDocTypeKind : u32 {
OdinDocType_SOAStructDynamic = 19,
OdinDocType_RelativePointer = 20,
OdinDocType_RelativeSlice = 21,
OdinDocType_MultiPointer = 22,
};
enum OdinDocTypeFlag_Basic : u32 {

View File

@@ -530,6 +530,10 @@ OdinDocTypeIndex odin_doc_type(OdinDocWriter *w, Type *type) {
doc_type.kind = OdinDocType_Pointer;
doc_type.types = odin_doc_type_as_slice(w, type->Pointer.elem);
break;
case Type_MultiPointer:
doc_type.kind = OdinDocType_MultiPointer;
doc_type.types = odin_doc_type_as_slice(w, type->MultiPointer.elem);
break;
case Type_Array:
doc_type.kind = OdinDocType_Array;
doc_type.elem_count_len = 1;