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 --
