浏览代码

Update doc-format for `#by_ptr` and `#no_broadcast` parameters

gingerBill 1 年之前
父节点
当前提交
006ea11c56
共有 4 个文件被更改,包括 26 次插入21 次删除
  1. 9 7
      core/odin/doc-format/doc_format.odin
  2. 10 8
      src/docs_format.cpp
  3. 7 5
      src/docs_writer.cpp
  4. 0 1
      src/entity.cpp

+ 9 - 7
core/odin/doc-format/doc_format.odin

@@ -102,13 +102,15 @@ Entity_Flag :: enum u32le {
 	Foreign = 0,
 	Export  = 1,
 
-	Param_Using     = 2, // using
-	Param_Const     = 3, // #const
-	Param_Auto_Cast = 4, // auto_cast
-	Param_Ellipsis  = 5, // Variadic parameter
-	Param_CVararg   = 6, // #c_vararg
-	Param_No_Alias  = 7, // #no_alias
-	Param_Any_Int   = 8, // #any_int
+	Param_Using        = 2, // using
+	Param_Const        = 3, // #const
+	Param_Auto_Cast    = 4, // auto_cast
+	Param_Ellipsis     = 5, // Variadic parameter
+	Param_CVararg      = 6, // #c_vararg
+	Param_No_Alias     = 7, // #no_alias
+	Param_Any_Int      = 8, // #any_int
+	Param_By_Ptr       = 9, // #by_ptr
+	Param_No_Broadcast = 10, // #no_broadcast
 
 	Bit_Field_Field = 19,
 

+ 10 - 8
src/docs_format.cpp

@@ -15,7 +15,7 @@ struct OdinDocVersionType {
 
 #define OdinDocVersionType_Major 0
 #define OdinDocVersionType_Minor 3
-#define OdinDocVersionType_Patch 0
+#define OdinDocVersionType_Patch 1
 
 struct OdinDocHeaderBase {
 	u8                 magic[8];
@@ -163,13 +163,15 @@ enum OdinDocEntityFlag : u64 {
 	OdinDocEntityFlag_Foreign = 1ull<<0,
 	OdinDocEntityFlag_Export  = 1ull<<1,
 
-	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_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_Param_ByPtr       = 1ull<<9,
+	OdinDocEntityFlag_Param_NoBroadcast = 1ull<<10,
 
 	OdinDocEntityFlag_BitField_Field = 1ull<<19,
 

+ 7 - 5
src/docs_writer.cpp

@@ -925,11 +925,13 @@ gb_internal OdinDocEntityIndex odin_doc_add_entity(OdinDocWriter *w, Entity *e)
 		break;
 	}
 
-	if (e->flags & EntityFlag_Using)      { flags |= OdinDocEntityFlag_Param_Using;    }
-	if (e->flags & EntityFlag_ConstInput) { flags |= OdinDocEntityFlag_Param_Const;    }
-	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;   }
+	if (e->flags & EntityFlag_Using)       { flags |= OdinDocEntityFlag_Param_Using;       }
+	if (e->flags & EntityFlag_ConstInput)  { flags |= OdinDocEntityFlag_Param_Const;       }
+	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;      }
+	if (e->flags & EntityFlag_ByPtr)       { flags |= OdinDocEntityFlag_Param_ByPtr;       }
+	if (e->flags & EntityFlag_NoBroadcast) { flags |= OdinDocEntityFlag_Param_NoBroadcast; }
 
 	if (e->scope && (e->scope->flags & (ScopeFlag_File|ScopeFlag_Pkg)) && !is_entity_exported(e)) {
 		flags |= OdinDocEntityFlag_Private;

+ 0 - 1
src/entity.cpp

@@ -60,7 +60,6 @@ enum EntityFlag : u64 {
 	EntityFlag_ProcBodyChecked = 1ull<<21,
 
 	EntityFlag_CVarArg       = 1ull<<22,
-
 	EntityFlag_NoBroadcast   = 1ull<<23,
 	EntityFlag_AnyInt        = 1ull<<24,