Browse Source

Add `.Private` information to doc-format

gingerBill 3 years ago
parent
commit
2b918ada4b

+ 2 - 0
core/odin/doc-format/doc_format.odin

@@ -107,6 +107,8 @@ Entity_Flag :: enum u32le {
 
 
 	Var_Thread_Local = 40,
 	Var_Thread_Local = 40,
 	Var_Static       = 41,
 	Var_Static       = 41,
+
+	Private = 50,
 }
 }
 
 
 Entity_Flags :: distinct bit_set[Entity_Flag; u64le]
 Entity_Flags :: distinct bit_set[Entity_Flag; u64le]

+ 24 - 26
core/sync/sync2/primitives.odin

@@ -29,12 +29,12 @@ mutex_try_lock :: proc(m: ^Mutex) -> bool {
 	return _mutex_try_lock(m)
 	return _mutex_try_lock(m)
 }
 }
 
 
-// Example:
-//
-// if mutex_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if mutex_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=mutex_unlock)
 @(deferred_in=mutex_unlock)
 mutex_guard :: proc(m: ^Mutex) -> bool {
 mutex_guard :: proc(m: ^Mutex) -> bool {
 	mutex_lock(m)
 	mutex_lock(m)
@@ -80,25 +80,24 @@ rw_mutex_shared_unlock :: proc(rw: ^RW_Mutex) {
 rw_mutex_try_shared_lock :: proc(rw: ^RW_Mutex) -> bool {
 rw_mutex_try_shared_lock :: proc(rw: ^RW_Mutex) -> bool {
 	return _rw_mutex_try_shared_lock(rw)
 	return _rw_mutex_try_shared_lock(rw)
 }
 }
-
-// Example:
-//
-// if rw_mutex_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if rw_mutex_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=rw_mutex_unlock)
 @(deferred_in=rw_mutex_unlock)
 rw_mutex_guard :: proc(m: ^RW_Mutex) -> bool {
 rw_mutex_guard :: proc(m: ^RW_Mutex) -> bool {
 	rw_mutex_lock(m)
 	rw_mutex_lock(m)
 	return true
 	return true
 }
 }
 
 
-// Example:
-//
-// if rw_mutex_shared_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if rw_mutex_shared_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=rw_mutex_shared_unlock)
 @(deferred_in=rw_mutex_shared_unlock)
 rw_mutex_shared_guard :: proc(m: ^RW_Mutex) -> bool {
 rw_mutex_shared_guard :: proc(m: ^RW_Mutex) -> bool {
 	rw_mutex_shared_lock(m)
 	rw_mutex_shared_lock(m)
@@ -127,13 +126,12 @@ recursive_mutex_try_lock :: proc(m: ^Recursive_Mutex) -> bool {
 	return _recursive_mutex_try_lock(m)
 	return _recursive_mutex_try_lock(m)
 }
 }
 
 
-
-// Example:
-//
-// if recursive_mutex_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if recursive_mutex_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=recursive_mutex_unlock)
 @(deferred_in=recursive_mutex_unlock)
 recursive_mutex_guard :: proc(m: ^Recursive_Mutex) -> bool {
 recursive_mutex_guard :: proc(m: ^Recursive_Mutex) -> bool {
 	recursive_mutex_lock(m)
 	recursive_mutex_lock(m)

+ 24 - 27
core/sync/sync2/primitives_atomic.odin

@@ -82,13 +82,12 @@ atomic_mutex_try_lock :: proc(m: ^Atomic_Mutex) -> bool {
 	return ok
 	return ok
 }
 }
 
 
-
-// Example:
-//
-// if atomic_mutex_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if atomic_mutex_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=atomic_mutex_unlock)
 @(deferred_in=atomic_mutex_unlock)
 atomic_mutex_guard :: proc(m: ^Atomic_Mutex) -> bool {
 atomic_mutex_guard :: proc(m: ^Atomic_Mutex) -> bool {
 	atomic_mutex_lock(m)
 	atomic_mutex_lock(m)
@@ -193,25 +192,24 @@ atomic_rw_mutex_try_shared_lock :: proc(rw: ^Atomic_RW_Mutex) -> bool {
 	return false
 	return false
 }
 }
 
 
-
-// Example:
-//
-// if atomic_rw_mutex_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if atomic_rw_mutex_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=atomic_rw_mutex_unlock)
 @(deferred_in=atomic_rw_mutex_unlock)
 atomic_rw_mutex_guard :: proc(m: ^Atomic_RW_Mutex) -> bool {
 atomic_rw_mutex_guard :: proc(m: ^Atomic_RW_Mutex) -> bool {
 	atomic_rw_mutex_lock(m)
 	atomic_rw_mutex_lock(m)
 	return true
 	return true
 }
 }
 
 
-// Example:
-//
-// if atomic_rw_mutex_shared_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if atomic_rw_mutex_shared_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=atomic_rw_mutex_shared_unlock)
 @(deferred_in=atomic_rw_mutex_shared_unlock)
 atomic_rw_mutex_shared_guard :: proc(m: ^Atomic_RW_Mutex) -> bool {
 atomic_rw_mutex_shared_guard :: proc(m: ^Atomic_RW_Mutex) -> bool {
 	atomic_rw_mutex_shared_lock(m)
 	atomic_rw_mutex_shared_lock(m)
@@ -270,13 +268,12 @@ atomic_recursive_mutex_try_lock :: proc(m: ^Atomic_Recursive_Mutex) -> bool {
 	return true
 	return true
 }
 }
 
 
-
-// Example:
-//
-// if atomic_recursive_mutex_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if atomic_recursive_mutex_guard(&m) {
+		...
+	}
+*/
 @(deferred_in=atomic_recursive_mutex_unlock)
 @(deferred_in=atomic_recursive_mutex_unlock)
 atomic_recursive_mutex_guard :: proc(m: ^Atomic_Recursive_Mutex) -> bool {
 atomic_recursive_mutex_guard :: proc(m: ^Atomic_Recursive_Mutex) -> bool {
 	atomic_recursive_mutex_lock(m)
 	atomic_recursive_mutex_lock(m)

+ 1 - 0
core/sync/sync2/sema_internal.odin

@@ -1,3 +1,4 @@
+//+private
 package sync2
 package sync2
 
 
 import "core:time"
 import "core:time"

+ 12 - 14
core/sync/sync2/sync_util.odin

@@ -1,12 +1,11 @@
 package sync2
 package sync2
 
 
-
-// Example:
-//
-// if guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if guard(&m) {
+		...
+	}
+*/
 guard :: proc{
 guard :: proc{
 	mutex_guard,
 	mutex_guard,
 	rw_mutex_guard,
 	rw_mutex_guard,
@@ -17,13 +16,12 @@ guard :: proc{
 	atomic_recursive_mutex_guard,
 	atomic_recursive_mutex_guard,
 	atomic_rw_mutex_guard,
 	atomic_rw_mutex_guard,
 }
 }
-
-// Example:
-//
-// if shared_guard(&m) {
-//         ...
-// }
-//
+/*
+Example:
+	if shared_guard(&m) {
+		...
+	}
+*/
 shared_guard :: proc{
 shared_guard :: proc{
 	rw_mutex_shared_guard,
 	rw_mutex_shared_guard,
 	atomic_rw_mutex_shared_guard,
 	atomic_rw_mutex_shared_guard,

+ 2 - 0
src/docs_format.cpp

@@ -172,6 +172,8 @@ enum OdinDocEntityFlag : u64 {
 
 
 	OdinDocEntityFlag_Var_Thread_Local = 1ull<<40,
 	OdinDocEntityFlag_Var_Thread_Local = 1ull<<40,
 	OdinDocEntityFlag_Var_Static       = 1ull<<41,
 	OdinDocEntityFlag_Var_Static       = 1ull<<41,
+
+	OdinDocEntityFlag_Private          = 1ull<<50,
 };
 };
 
 
 struct OdinDocEntity {
 struct OdinDocEntity {

+ 4 - 1
src/docs_writer.cpp

@@ -815,7 +815,7 @@ OdinDocEntityIndex odin_doc_add_entity(OdinDocWriter *w, Entity *e) {
 	String link_name = {};
 	String link_name = {};
 
 
 	OdinDocEntityKind kind = OdinDocEntity_Invalid;
 	OdinDocEntityKind kind = OdinDocEntity_Invalid;
-	u32 flags = 0;
+	u64 flags = 0;
 	i32 field_group_index = -1;
 	i32 field_group_index = -1;
 
 
 	switch (e->kind) {
 	switch (e->kind) {
@@ -866,6 +866,9 @@ OdinDocEntityIndex odin_doc_add_entity(OdinDocWriter *w, Entity *e) {
 		if (e->flags & EntityFlag_NoAlias)    { flags |= OdinDocEntityFlag_Param_NoAlias;  }
 		if (e->flags & EntityFlag_NoAlias)    { flags |= OdinDocEntityFlag_Param_NoAlias;  }
 		if (e->flags & EntityFlag_AnyInt)     { flags |= OdinDocEntityFlag_Param_AnyInt;   }
 		if (e->flags & EntityFlag_AnyInt)     { flags |= OdinDocEntityFlag_Param_AnyInt;   }
 	}
 	}
+	if (e->scope && (e->scope->flags & (ScopeFlag_File|ScopeFlag_Pkg)) && !is_entity_exported(e)) {
+		flags |= OdinDocEntityFlag_Private;
+	}
 
 
 	OdinDocString init_string = {};
 	OdinDocString init_string = {};
 	if (init_expr) {
 	if (init_expr) {

+ 4 - 1
tools/odin-html-docs/odin_html_docs_main.odin

@@ -543,10 +543,13 @@ write_type :: proc(using writer: ^Type_Writer, type: doc.Type, flags: Write_Type
 		e := entities[type_entites[0]]
 		e := entities[type_entites[0]]
 		name := str(type.name)
 		name := str(type.name)
 		tn_pkg := files[e.pos.file].pkg
 		tn_pkg := files[e.pos.file].pkg
+
 		if tn_pkg != pkg {
 		if tn_pkg != pkg {
 			fmt.wprintf(w, `%s.`, str(pkgs[tn_pkg].name))
 			fmt.wprintf(w, `%s.`, str(pkgs[tn_pkg].name))
 		}
 		}
-		if n := strings.contains_rune(name, '('); n >= 0 {
+		if .Private in e.flags {
+			io.write_string(w, name)
+		} else if n := strings.contains_rune(name, '('); n >= 0 {
 			fmt.wprintf(w, `<a class="code-typename" href="{2:s}/{0:s}/#{1:s}">{1:s}</a>`, pkg_to_path[&pkgs[tn_pkg]], name[:n], BASE_CORE_URL)
 			fmt.wprintf(w, `<a class="code-typename" href="{2:s}/{0:s}/#{1:s}">{1:s}</a>`, pkg_to_path[&pkgs[tn_pkg]], name[:n], BASE_CORE_URL)
 			io.write_string(w, name[n:])
 			io.write_string(w, name[n:])
 		} else {
 		} else {