diff --git a/core/odin/doc-format/doc_format.odin b/core/odin/doc-format/doc_format.odin index 090b520d8..8fa9f453c 100644 --- a/core/odin/doc-format/doc_format.odin +++ b/core/odin/doc-format/doc_format.odin @@ -10,7 +10,7 @@ Array :: struct($T: typeid) { String :: distinct Array(byte) Version_Type_Major :: 0 -Version_Type_Minor :: 1 +Version_Type_Minor :: 2 Version_Type_Patch :: 0 Version_Type :: struct { @@ -101,17 +101,19 @@ Entity_Flag :: enum u32le { Param_Ellipsis = 5, // Variadic parameter Param_CVararg = 6, // #c_vararg Param_No_Alias = 7, // #no_alias + Param_Any_Int = 8, // #any_int - Type_Alias = 8, + Type_Alias = 20, - Var_Thread_Local = 9, - Var_Static = 10, + Var_Thread_Local = 40, + Var_Static = 41, } -Entity_Flags :: distinct bit_set[Entity_Flag; u32le] +Entity_Flags :: distinct bit_set[Entity_Flag; u64le] Entity :: struct { kind: Entity_Kind, + _: u32le, // reserved flags: Entity_Flags, pos: Position, name: String, diff --git a/src/docs_format.cpp b/src/docs_format.cpp index 98ac13c8b..38cdd9508 100644 --- a/src/docs_format.cpp +++ b/src/docs_format.cpp @@ -14,7 +14,7 @@ struct OdinDocVersionType { }; #define OdinDocVersionType_Major 0 -#define OdinDocVersionType_Minor 1 +#define OdinDocVersionType_Minor 2 #define OdinDocVersionType_Patch 0 struct OdinDocHeaderBase { @@ -155,21 +155,22 @@ enum OdinDocEntityKind : u32 { OdinDocEntity_LibraryName = 7, }; -enum OdinDocEntityFlag : u32 { - OdinDocEntityFlag_Foreign = 1<<0, - OdinDocEntityFlag_Export = 1<<1, +enum OdinDocEntityFlag : u64 { + OdinDocEntityFlag_Foreign = 1ull<<0, + OdinDocEntityFlag_Export = 1ull<<1, - OdinDocEntityFlag_Param_Using = 1<<2, - OdinDocEntityFlag_Param_Const = 1<<3, - OdinDocEntityFlag_Param_AutoCast = 1<<4, - OdinDocEntityFlag_Param_Ellipsis = 1<<5, - OdinDocEntityFlag_Param_CVararg = 1<<6, - OdinDocEntityFlag_Param_NoAlias = 1<<7, + OdinDocEntityFlag_Param_Using = 1ull<<2, + OdinDocEntityFlag_Param_Const = 1ull<<3, + OdinDocEntityFlag_Param_AutoCast = 1ull<<4, + OdinDocEntityFlag_Param_Ellipsis = 1ull<<5, + OdinDocEntityFlag_Param_CVararg = 1ull<<6, + OdinDocEntityFlag_Param_NoAlias = 1ull<<7, + OdinDocEntityFlag_Param_AnyInt = 1ull<<8, - OdinDocEntityFlag_Type_Alias = 1<<8, + OdinDocEntityFlag_Type_Alias = 1ull<<29, - OdinDocEntityFlag_Var_Thread_Local = 1<<9, - OdinDocEntityFlag_Var_Static = 1<<10, + OdinDocEntityFlag_Var_Thread_Local = 1ull<<40, + OdinDocEntityFlag_Var_Static = 1ull<<41, }; struct OdinDocEntity { diff --git a/src/docs_writer.cpp b/src/docs_writer.cpp index 25aa68167..1603ca22c 100644 --- a/src/docs_writer.cpp +++ b/src/docs_writer.cpp @@ -850,6 +850,7 @@ OdinDocEntityIndex odin_doc_add_entity(OdinDocWriter *w, Entity *e) { if (e->flags & EntityFlag_AutoCast) { flags |= OdinDocEntityFlag_Param_AutoCast; } if (e->flags & EntityFlag_Ellipsis) { flags |= OdinDocEntityFlag_Param_Ellipsis; } if (e->flags & EntityFlag_NoAlias) { flags |= OdinDocEntityFlag_Param_NoAlias; } + if (e->flags & EntityFlag_AnyInt) { flags |= OdinDocEntityFlag_Param_AnyInt; } } OdinDocString init_string = {};