docs: add implement to doctree

This commit is contained in:
Daniel Kolesa 2017-01-20 15:09:11 +01:00
parent 47cebbc1f1
commit ab7b6815e0
1 changed files with 57 additions and 1 deletions

View File

@ -227,6 +227,14 @@ M.Class = Node:clone {
return ret
end,
implements_get = function(self)
local ret = {}
for impl in self.class:implements_get() do
ret[#ret + 1] = M.Implement(ret)
end
return ret
end,
c_get_function_name_get = function(self)
return self.class:c_get_function_name_get()
end,
@ -309,6 +317,10 @@ M.Function = Node:clone {
return M.Doc(self.func:implement_get():documentation_get(ft))
end,
implement_get = function(self)
return M.Implement(self.func:implement_get())
end,
fallback_doc_get = function(self, ft)
if not ft then
local fft = self:type_get()
@ -410,7 +422,7 @@ M.Function = Node:clone {
}
M.Parameter = Node:clone {
UNKNOWN = eolian.param_dir.UNKNOWN,
UNKNOWN = eolian.parameter_dir.UNKNOWN,
IN = eolian.parameter_dir.IN,
OUT = eolian.parameter_dir.OUT,
INOUT = eolian.parameter_dir.INOUT,
@ -1273,6 +1285,50 @@ M.Expression = Node:clone {
end
}
M.Implement = Node:clone {
__ctor = function(self, impl)
self.impl = impl
assert(self.impl)
end,
full_name_get = function(self)
return self.impl:full_name_get()
end,
class_get = function(self)
return M.Class(self.impl:class_get())
end,
function_get = function(self)
local func, tp = self.impl:function_get()
return M.Function(func), tp
end,
doc_get = function(self, ftype)
return M.Doc(self.impl:documentation_get(ftype))
end,
is_auto = function(self, ftype)
return self.impl:is_auto(ftype)
end,
is_empty = function(self, ftype)
return self.impl:is_empty(ftype)
end,
is_pure_virtual = function(self, ftype)
return self.impl:is_pure_virtual(ftype)
end,
is_prop_get = function(self)
return self.impl:is_prop_get()
end,
is_prop_set = function(self)
return self.impl:is_prop_set()
end
}
M.DocTokenizer = Node:clone {
UNKNOWN = eolian.doc_token_type.UNKNOWN,
TEXT = eolian.doc_token_type.TEXT,