q66 pushed a commit to branch master.

http://git.enlightenment.org/tools/edocgen.git/commit/?id=d1dc8dd12e4084aa29e96a4db769e4a2debd0c67

commit d1dc8dd12e4084aa29e96a4db769e4a2debd0c67
Author: Daniel Kolesa <[email protected]>
Date:   Fri Nov 15 16:24:15 2019 +0100

    preliminary non-beta API filtering
---
 docgen/doc.lua          | 10 ++++-----
 docgen/eolian_utils.lua | 14 +++++--------
 gendoc.lua              | 54 ++++++++++++++++++++++++++++---------------------
 3 files changed, 41 insertions(+), 37 deletions(-)

diff --git a/docgen/doc.lua b/docgen/doc.lua
index 93dcf3e..8e8e37b 100644
--- a/docgen/doc.lua
+++ b/docgen/doc.lua
@@ -239,11 +239,11 @@ local nspaces_filter = function(items, ns)
 end
 
 M.ref_groups_get = function(eos)
-    local classlist = eoutils.classes_get_filtered(eos)
-    local aliases = eos:aliases_get():to_array()
-    local structs = eos:structs_get():to_array()
-    local enums = eos:enums_get():to_array()
-    local consts = eos:constants_get():to_array()
+    local classlist = eoutils.objects_get_filtered(eos:classes_get())
+    local aliases = eoutils.objects_get_filtered(eos:aliases_get())
+    local structs = eoutils.objects_get_filtered(eos:structs_get())
+    local enums = eoutils.objects_get_filtered(eos:enums_get())
+    local consts = eoutils.objects_get_filtered(eos:constants_get())
 
     local grouped = {}
     local groups = {}
diff --git a/docgen/eolian_utils.lua b/docgen/eolian_utils.lua
index 52c9e25..6230eae 100644
--- a/docgen/eolian_utils.lua
+++ b/docgen/eolian_utils.lua
@@ -31,18 +31,14 @@ M.tok_ref_resolve = function(tok, eos, root)
 end
 
 M.obj_matches_filter = function(obj)
-    local ns = M.obj_nspaces_get(obj)
-    if #ns and (ns[1] == "efl" or ns[1] == "eina") then
-        return true
-    end
-    return false
+    return not obj:is_beta()
 end
 
-M.classes_get_filtered = function(eos)
+M.objects_get_filtered = function(set)
     local ret = {}
-    for cl in eos:classes_get() do
-        if M.obj_matches_filter(cl) then
-            ret[#ret + 1] = cl
+    for o in set do
+        if M.obj_matches_filter(o) then
+            ret[#ret + 1] = o
         end
     end
     return ret
diff --git a/gendoc.lua b/gendoc.lua
index 96aa705..0d320d7 100644
--- a/gendoc.lua
+++ b/gendoc.lua
@@ -688,7 +688,7 @@ build_property = function(impl, cl)
 end
 
 local build_stats_keyref = function()
-    for i, cl in ipairs(eoutils.classes_get_filtered(eos)) do
+    for i, cl in ipairs(eoutils.objects_get_filtered(eos:classes_get())) do
         stats.check_class(cl)
         keyref.add(cl:name_get():gsub("%.", "_"), eoutils.obj_nspaces_get(cl), 
"c")
         for imp in cl:implements_get() do
@@ -715,51 +715,59 @@ local build_stats_keyref = function()
             keyref.add(ev:c_macro_get(), eoutils.event_nspaces_get(ev, cl), 
"c")
         end
     end
-    for tp in eos:aliases_get() do
+    for i, tp in ipairs(eoutils.objects_get_filtered(eos:aliases_get())) do
         stats.check_alias(tp)
     end
-    for tp in eos:structs_get() do
+    for i, tp in ipairs(eoutils.objects_get_filtered(eos:structs_get())) do
         stats.check_struct(tp)
     end
-    for tp in eos:enums_get() do
+    for i, tp in ipairs(eoutils.objects_get_filtered(eos:enums_get())) do
         stats.check_enum(tp)
     end
-    for v in eos:constants_get() do
+    for i, v in ipairs(eoutils.objects_get_filtered(eos:constants_get())) do
         stats.check_constant(v)
     end
 end
 
 local build_typedecls = function()
     for tp in eos:aliases_get() do
-        render_template("alias", eoutils.obj_nspaces_get(tp), tp:name_get(), {
-            type_obj = tp
-        })
+        if eoutils.obj_matches_filter(tp) then
+            render_template("alias", eoutils.obj_nspaces_get(tp), 
tp:name_get(), {
+                type_obj = tp
+            })
+        end
     end
 
     for tp in eos:structs_get() do
-        render_template(
-            "struct_enum", eoutils.obj_nspaces_get(tp), tp:name_get(), {
-                type_obj = tp, obj_fields = tp:struct_fields_get()
-            }
-        )
+        if eoutils.obj_matches_filter(tp) then
+            render_template(
+                "struct_enum", eoutils.obj_nspaces_get(tp), tp:name_get(), {
+                    type_obj = tp, obj_fields = tp:struct_fields_get()
+                }
+            )
+        end
     end
 
     for tp in eos:enums_get() do
-        render_template(
-            "struct_enum", eoutils.obj_nspaces_get(tp), tp:name_get(), {
-                type_obj = tp, obj_fields = tp:enum_fields_get()
-            }
-        )
+        if eoutils.obj_matches_filter(tp) then
+            render_template(
+                "struct_enum", eoutils.obj_nspaces_get(tp), tp:name_get(), {
+                    type_obj = tp, obj_fields = tp:enum_fields_get()
+                }
+            )
+        end
     end
 end
 
 local build_variables = function()
     for v in eos:constants_get() do
-        render_template(
-            "variable", eoutils.obj_nspaces_get(v), v:name_get(), {
-                var_obj = v, var_is_constant = true
-            }
-        )
+        if eoutils.obj_matches_filter(v) then
+            render_template(
+                "variable", eoutils.obj_nspaces_get(v), v:name_get(), {
+                    var_obj = v, var_is_constant = true
+                }
+            )
+        end
     end
 end
 

-- 


Reply via email to