forked from enlightenment/efl
elua: make old documentation generator generate instead of failing
While a rewritten template-based doc generator is pending addition into a separate repository, at least fix this one so that it works in case we decide to go back to it, because right now it's just failing because of out of date code. The fixes here are based on the revamped documentation generator that will be introduced.
This commit is contained in:
parent
107bb9d2ed
commit
1e52108644
|
@ -44,11 +44,11 @@ M.Node = util.Object:clone {
|
|||
end,
|
||||
|
||||
name_get = function(self)
|
||||
return self.obj:name_get()
|
||||
return self._obj:name_get()
|
||||
end,
|
||||
|
||||
short_name_get = function(self)
|
||||
return self.obj:short_name_get()
|
||||
return self._obj:short_name_get()
|
||||
end,
|
||||
|
||||
namespaces_get = function(self)
|
||||
|
@ -107,6 +107,11 @@ local add_since = function(str, since)
|
|||
end
|
||||
|
||||
M.Doc = Node:clone {
|
||||
-- duplicate ctor to disable assertion
|
||||
__ctor = function(self, obj)
|
||||
self._obj = obj
|
||||
end,
|
||||
|
||||
summary_get = function(self)
|
||||
if not self._obj then
|
||||
return nil
|
||||
|
@ -1349,26 +1354,24 @@ M.DocTokenizer = util.Object:clone {
|
|||
ref_resolve = function(self, root)
|
||||
-- FIXME: unit
|
||||
local tp, d1, d2 = self.tok:ref_resolve(eos)
|
||||
local reft = eolian.doc_ref_type
|
||||
local reft = eolian.object_type
|
||||
local ret = {}
|
||||
if tp == reft.CLASS or tp == reft.FUNC or tp == reft.EVENT then
|
||||
if tp == reft.CLASS or tp == reft.FUNCTION or tp == reft.EVENT then
|
||||
if not class_type_str[d1:type_get()] then
|
||||
error("unknown class type for class '"
|
||||
.. d1:name_get() .. "'")
|
||||
end
|
||||
elseif tp == reft.ALIAS then
|
||||
elseif tp == reft.STRUCT or tp == reft.STRUCT_FIELD then
|
||||
elseif tp == reft.TYPEDECL then
|
||||
elseif tp == reft.ENUM_FIELD or tp == reft.STRUCT_FIELD then
|
||||
-- TODO: point to field
|
||||
elseif tp == reft.ENUM or tp == reft.ENUM_FIELD then
|
||||
-- TODO: point to field
|
||||
elseif tp == reft.VAR then
|
||||
elseif tp == reft.VARIABLE then
|
||||
else
|
||||
error("invalid reference '" .. self:text_get() .. "'")
|
||||
end
|
||||
for tok in d1:name_get():gmatch("[^%.]+") do
|
||||
ret[#ret + 1] = tok:lower()
|
||||
end
|
||||
if tp == reft.FUNC then
|
||||
if tp == reft.FUNCTION then
|
||||
ret[#ret + 1] = func_type_str[d2:type_get()]
|
||||
ret[#ret + 1] = d2:name_get():lower()
|
||||
elseif tp == reft.EVENT then
|
||||
|
|
|
@ -87,7 +87,7 @@ local not_verbs = {
|
|||
|
||||
local get_class_name = function(cls)
|
||||
local words = {}
|
||||
local klass = cls:full_name_get()
|
||||
local klass = cls:name_get()
|
||||
for word in string.gmatch(klass, "%a+") do
|
||||
words[#words+1] = word
|
||||
end
|
||||
|
@ -107,20 +107,20 @@ get_mono_type = function(tp)
|
|||
tpdecl = tp:typedecl_get()
|
||||
|
||||
if tpt == tp.REGULAR then
|
||||
if tp:full_name_get() == "string" then
|
||||
if tp:name_get() == "string" then
|
||||
return "System.String"
|
||||
elseif tp:full_name_get() == "list" then
|
||||
elseif tp:name_get() == "list" then
|
||||
ntp = tp:base_type_get()
|
||||
--assert(btp ~= nil)
|
||||
--ntp = btp:next_type_get()
|
||||
return "eina.List<" .. get_mono_type(ntp) .. ">"
|
||||
elseif tpdecl then
|
||||
--print("typedecl type is ", tp:full_name_get())
|
||||
--print("typedecl type is ", tp:name_get())
|
||||
tpt = tpdecl:type_get()
|
||||
return get_class_name(tp) --tp:full_name_get()
|
||||
return get_class_name(tp) --tp:name_get()
|
||||
else
|
||||
--print("regular type is ", tp:full_name_get())
|
||||
return tp:full_name_get()
|
||||
--print("regular type is ", tp:name_get())
|
||||
return tp:name_get()
|
||||
end
|
||||
elseif tpt == tp.CLASS then
|
||||
return get_class_name(tp)
|
||||
|
@ -189,7 +189,7 @@ local find_parent_impl
|
|||
find_parent_impl = function(fulln, cl)
|
||||
for i, pcl in ipairs(cl:inherits_get()) do
|
||||
for j, impl in ipairs(pcl:implements_get()) do
|
||||
if impl:full_name_get() == fulln then
|
||||
if impl:name_get() == fulln then
|
||||
--if get_class_name(impl) == fulln then
|
||||
return impl, pcl
|
||||
end
|
||||
|
@ -224,7 +224,7 @@ local write_description = function(f, impl, func, cl)
|
|||
local doc = impl:doc_get(func.METHOD, true)
|
||||
local docf = impl:fallback_doc_get(true)
|
||||
if over and (not doc:exists() and (not docf or not docf:exists())) then
|
||||
bdoc = find_parent_briefdoc(impl:full_name_get(), cl)
|
||||
bdoc = find_parent_briefdoc(impl:name_get(), cl)
|
||||
else
|
||||
bdoc = doc:brief_get(docf)
|
||||
end
|
||||
|
@ -338,7 +338,7 @@ local gen_func_mono_sig = function(f, ftype)
|
|||
pars[#pars + 1] = gen_mono_param(par)
|
||||
end
|
||||
for i, par in ipairs(vals) do
|
||||
print('parameter is value for get, so out')
|
||||
--print('parameter is value for get, so out')
|
||||
pars[#pars + 1] = gen_mono_param(par, true)
|
||||
end
|
||||
|
||||
|
@ -382,7 +382,7 @@ local build_functable = function(f, tcl, tbl)
|
|||
table.sort(nt, function(v1, v2)
|
||||
local cl1, cl2 = v1[0], v2[0]
|
||||
if cl1 ~= cl2 then
|
||||
return cl1:full_name_get() < cl2:full_name_get()
|
||||
return cl1:name_get() < cl2:name_get()
|
||||
end
|
||||
|
||||
local f1, f2 = v1[1], v2[1]
|
||||
|
@ -435,7 +435,7 @@ M.build_inherits = function(cl, t, lvl)
|
|||
cln = ":" .. 'develop:api' .. ":"
|
||||
.. table.concat(cln, ":")
|
||||
lbuf:write_raw("[[", cln, "|", get_class_name(cl), "]]")
|
||||
--lbuf:write_link(cl:nspaces_get(true), cl:full_name_get())
|
||||
--lbuf:write_link(cl:nspaces_get(true), cl:name_get())
|
||||
lbuf:write_raw(" ")
|
||||
lbuf:write_i("(" .. cl:type_str_get() .. ")")
|
||||
|
||||
|
@ -487,7 +487,7 @@ M.write_inherit_functable = function(f, tcl, tbl)
|
|||
if cl ~= prevcl then
|
||||
prevcl = cl
|
||||
f:write_raw("^ ")
|
||||
f:write_link(cl:nspaces_get(true), cl:full_name_get())
|
||||
f:write_link(cl:nspaces_get(true), cl:name_get())
|
||||
f:write_raw(" ^^^")
|
||||
f:write_nl()
|
||||
end
|
||||
|
@ -535,7 +535,7 @@ M.write_functable = function(f, tcl, tbl)
|
|||
-- but we get latest doc every time so it's ok for now
|
||||
local llbuf = writer.Buffer()
|
||||
llbuf:write_raw(" [Overridden from ")
|
||||
llbuf:write_link(ocl:nspaces_get(true), ocl:full_name_get())
|
||||
llbuf:write_link(ocl:nspaces_get(true), ocl:name_get())
|
||||
llbuf:write_raw("]")
|
||||
f:write_i(llbuf:finish())
|
||||
end
|
||||
|
@ -562,12 +562,12 @@ end
|
|||
|
||||
M.build_class = function(cl)
|
||||
local cln = cl:nspaces_get()
|
||||
local fulln = cl:full_name_get()
|
||||
local fulln = cl:name_get()
|
||||
--table.insert(cln, "mono")
|
||||
cln[#cln] = cln[#cln] .. "_mono"
|
||||
--printgen("Generating (MONO) class: " .. fulln .. " in ns ", unpack(cln))
|
||||
local f = writer.Writer(cln, fulln .. " (mono)")
|
||||
f:write_h(cl:full_name_get() .. " (" .. cl:type_str_get() .. ")", 1)
|
||||
f:write_h(cl:name_get() .. " (" .. cl:type_str_get() .. ")", 1)
|
||||
|
||||
f:write_h("Description", 2)
|
||||
f:write_raw(cl:doc_get():full_get(nil, true))
|
||||
|
|
Loading…
Reference in New Issue