q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3e92d648089aca0f6c12e9021efb8d76da695b2f
commit 3e92d648089aca0f6c12e9021efb8d76da695b2f Author: Daniel Kolesa <[email protected]> Date: Mon Aug 15 14:14:33 2016 +0100 docs: generic namespace generator in Node --- src/scripts/elua/apps/docgen/doctree.lua | 33 ++++++++++++++++++++----------- src/scripts/elua/apps/docgen/mappings.lua | 13 ------------ src/scripts/elua/apps/gendoc.lua | 10 +++++----- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/src/scripts/elua/apps/docgen/doctree.lua b/src/scripts/elua/apps/docgen/doctree.lua index e541139..8bab6cc 100644 --- a/src/scripts/elua/apps/docgen/doctree.lua +++ b/src/scripts/elua/apps/docgen/doctree.lua @@ -9,13 +9,31 @@ local writer local M = {} -local Node = util.Object:clone { +M.Node = util.Object:clone { scope = { PUBLIC = eolian.object_scope.PUBLIC, PRIVATE = eolian.object_scope.PRIVATE, PROTECTED = eolian.object_scope.PROTECTED - } + }, + + nspaces_get = function(self, subn, root) + local tbl = self:namespaces_get() + -- temporary workaround + if type(tbl) ~= "table" then + tbl = tbl:to_array() + end + for i = 1, #tbl do + tbl[i] = tbl[i]:lower() + end + table.insert(tbl, 1, subn) + tbl[#tbl + 1] = self:name_get():lower() + if root then + tbl[#tbl + 1] = true + end + return tbl + end } +local Node = M.Node local gen_doc_refd = function(str) if not writer then @@ -212,16 +230,7 @@ M.Class = Node:clone { end, nspaces_get = function(self, root) - local tbl = self:namespaces_get() - for i = 1, #tbl do - tbl[i] = tbl[i]:lower() - end - table.insert(tbl, 1, self:type_str_get()) - tbl[#tbl + 1] = self:name_get():lower() - if root then - tbl[#tbl + 1] = true - end - return tbl + return M.Node.nspaces_get(self, self:type_str_get(), root) end, -- static getters diff --git a/src/scripts/elua/apps/docgen/mappings.lua b/src/scripts/elua/apps/docgen/mappings.lua index 8266d6d..00f2c44 100644 --- a/src/scripts/elua/apps/docgen/mappings.lua +++ b/src/scripts/elua/apps/docgen/mappings.lua @@ -38,19 +38,6 @@ local decl_to_nspace = function(decl) end end -M.gen_nsp_eo = function(eobj, subn, root) - local tbl = eobj:namespaces_get():to_array() - for i = 1, #tbl do - tbl[i] = tbl[i]:lower() - end - table.insert(tbl, 1, subn) - tbl[#tbl + 1] = eobj:name_get():lower() - if root then - tbl[#tbl + 1] = true - end - return tbl -end - M.gen_nsp_ref = function(str, root) local decl = eolian.declaration_get_by_name(str) if decl then diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua index 84858d6..dd3ccc2 100644 --- a/src/scripts/elua/apps/gendoc.lua +++ b/src/scripts/elua/apps/gendoc.lua @@ -315,7 +315,7 @@ local build_reftable = function(f, title, ctitle, ctype, t, iscl) for i, v in ipairs(t) do nt[#nt + 1] = { writer.Buffer():write_link( - iscl and v:nspaces_get() or eomap.gen_nsp_eo(v, ctype, true), + iscl and v:nspaces_get() or dtree.Node.nspaces_get(v, ctype, true), v:full_name_get() ):finish(), (iscl and v:doc_get() or dtree.Doc(v:documentation_get())):brief_get() @@ -760,7 +760,7 @@ local write_tsigs = function(f, tp) end local build_alias = function(tp) - local f = writer.Writer(eomap.gen_nsp_eo(tp, "alias")) + local f = writer.Writer(dtree.Node.nspaces_get(tp, "alias")) stats.check_alias(tp) write_tsigs(f, tp) @@ -773,7 +773,7 @@ local build_alias = function(tp) end local build_struct = function(tp) - local f = writer.Writer(eomap.gen_nsp_eo(tp, "struct")) + local f = writer.Writer(dtree.Node.nspaces_get(tp, "struct")) stats.check_struct(tp) write_tsigs(f, tp) @@ -798,7 +798,7 @@ local build_struct = function(tp) end local build_enum = function(tp) - local f = writer.Writer(eomap.gen_nsp_eo(tp, "enum")) + local f = writer.Writer(dtree.Node.nspaces_get(tp, "enum")) stats.check_enum(tp) write_tsigs(f, tp) @@ -823,7 +823,7 @@ local build_enum = function(tp) end local build_variable = function(v, constant) - local f = writer.Writer(eomap.gen_nsp_eo(v, constant and "constant" or "global")) + local f = writer.Writer(dtree.Node.nspaces_get(v, constant and "constant" or "global")) if constant then stats.check_constant(v) else --
