docs: add Event to new the doctree

This commit is contained in:
Daniel Kolesa 2016-08-10 16:05:16 +01:00
parent 88edaa768c
commit 1a5a04ed49
3 changed files with 55 additions and 14 deletions

View File

@ -2,6 +2,7 @@ local util = require("util")
local dutil = require("docgen.util")
local writer = require("docgen.writer")
local eomap = require("docgen.mappings")
local M = {}
@ -105,4 +106,53 @@ M.Doc = Node:clone {
end
}
M.Event = Node:clone {
__ctor = function(self, ev)
self.event = ev
assert(self.event)
end,
name_get = function(self)
return self.event:name_get()
end,
type_get = function(self)
return self.event:type_get()
end,
doc_get = function(self)
return M.Doc(self.event:documentation_get())
end,
scope_get = function(self)
return self.event:scope_get()
end,
c_name_get = function(self)
return self.event:c_name_get()
end,
is_beta = function(self)
return self.event:is_beta()
end,
is_hot = function(self)
return self.event:is_hot()
end,
is_restart = function(self)
return self.event:is_restart()
end,
nspaces_get = function(self, cl, root)
local tbl = eomap.gen_nsp_class(cl)
tbl[#tbl + 1] = "event"
tbl[#tbl + 1] = self:name_get():lower():gsub(",", "_")
if root then
tbl[#tbl + 1] = true
end
return tbl
end
}
return M

View File

@ -78,16 +78,6 @@ M.gen_nsp_func = function(fn, cl, root)
return tbl
end
M.gen_nsp_ev = function(ev, cl, root)
local tbl = M.gen_nsp_class(cl)
tbl[#tbl + 1] = "event"
tbl[#tbl + 1] = ev:name_get():lower():gsub(",", "_")
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

View File

@ -767,10 +767,11 @@ local build_class = function(cl)
else
local nt = {}
for i, ev in ipairs(evs) do
ev = dtree.Event(ev)
local lbuf = writer.Buffer()
lbuf:write_link(eomap.gen_nsp_ev(ev, cl, true), ev:name_get())
lbuf:write_link(ev:nspaces_get(cl, true), ev:name_get())
nt[#nt + 1] = {
lbuf:finish(), dtree.Doc(ev:documentation_get()):brief_get()
lbuf:finish(), ev:doc_get():brief_get()
}
build_event(ev, cl)
end
@ -1048,7 +1049,7 @@ build_property = function(fn, cl)
end
build_event = function(ev, cl)
local f = writer.Writer(eomap.gen_nsp_ev(ev, cl))
local f = writer.Writer(ev:nspaces_get(cl))
f:write_h(cl:full_name_get() .. ": " .. ev:name_get(), 2)
@ -1088,7 +1089,7 @@ build_event = function(ev, cl)
f:write_nl()
f:write_h("Description", 3)
f:write_raw(dtree.Doc(ev:documentation_get()):full_get(nil, true))
f:write_raw(ev:doc_get():full_get(nil, true))
f:write_nl()
f:finish()