diff --git a/core/odin/doc-format/doc_format.odin b/core/odin/doc-format/doc_format.odin index cffc114f7..f69d5d00d 100644 --- a/core/odin/doc-format/doc_format.odin +++ b/core/odin/doc-format/doc_format.odin @@ -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: diff --git a/src/docs_format.cpp b/src/docs_format.cpp index c4fd0359a..ee9842534 100644 --- a/src/docs_format.cpp +++ b/src/docs_format.cpp @@ -81,6 +81,7 @@ enum OdinDocTypeKind : u32 { OdinDocType_SOAStructDynamic = 19, OdinDocType_RelativePointer = 20, OdinDocType_RelativeSlice = 21, + OdinDocType_MultiPointer = 22, }; enum OdinDocTypeFlag_Basic : u32 { diff --git a/src/docs_writer.cpp b/src/docs_writer.cpp index 8708724e8..451c44c4e 100644 --- a/src/docs_writer.cpp +++ b/src/docs_writer.cpp @@ -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;