summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@osg.samsung.com>2017-01-20 15:09:11 +0100
committerDaniel Kolesa <d.kolesa@osg.samsung.com>2017-01-20 15:10:23 +0100
commitab7b6815e0f069ca2c44213618dae139684fc1e5 (patch)
treeff201f5b4d1602914ae2efac339473a05f63a0c8
parent47cebbc1f1ec41eab6d996f4d33e2535c505fce1 (diff)
docs: add implement to doctree
-rw-r--r--src/scripts/elua/apps/docgen/doctree.lua58
1 files changed, 57 insertions, 1 deletions
diff --git a/src/scripts/elua/apps/docgen/doctree.lua b/src/scripts/elua/apps/docgen/doctree.lua
index 7ef3e8bb87..80d23b9206 100644
--- a/src/scripts/elua/apps/docgen/doctree.lua
+++ b/src/scripts/elua/apps/docgen/doctree.lua
@@ -227,6 +227,14 @@ M.Class = Node:clone {
227 return ret 227 return ret
228 end, 228 end,
229 229
230 implements_get = function(self)
231 local ret = {}
232 for impl in self.class:implements_get() do
233 ret[#ret + 1] = M.Implement(ret)
234 end
235 return ret
236 end,
237
230 c_get_function_name_get = function(self) 238 c_get_function_name_get = function(self)
231 return self.class:c_get_function_name_get() 239 return self.class:c_get_function_name_get()
232 end, 240 end,
@@ -309,6 +317,10 @@ M.Function = Node:clone {
309 return M.Doc(self.func:implement_get():documentation_get(ft)) 317 return M.Doc(self.func:implement_get():documentation_get(ft))
310 end, 318 end,
311 319
320 implement_get = function(self)
321 return M.Implement(self.func:implement_get())
322 end,
323
312 fallback_doc_get = function(self, ft) 324 fallback_doc_get = function(self, ft)
313 if not ft then 325 if not ft then
314 local fft = self:type_get() 326 local fft = self:type_get()
@@ -410,7 +422,7 @@ M.Function = Node:clone {
410} 422}
411 423
412M.Parameter = Node:clone { 424M.Parameter = Node:clone {
413 UNKNOWN = eolian.param_dir.UNKNOWN, 425 UNKNOWN = eolian.parameter_dir.UNKNOWN,
414 IN = eolian.parameter_dir.IN, 426 IN = eolian.parameter_dir.IN,
415 OUT = eolian.parameter_dir.OUT, 427 OUT = eolian.parameter_dir.OUT,
416 INOUT = eolian.parameter_dir.INOUT, 428 INOUT = eolian.parameter_dir.INOUT,
@@ -1273,6 +1285,50 @@ M.Expression = Node:clone {
1273 end 1285 end
1274} 1286}
1275 1287
1288M.Implement = Node:clone {
1289 __ctor = function(self, impl)
1290 self.impl = impl
1291 assert(self.impl)
1292 end,
1293
1294 full_name_get = function(self)
1295 return self.impl:full_name_get()
1296 end,
1297
1298 class_get = function(self)
1299 return M.Class(self.impl:class_get())
1300 end,
1301
1302 function_get = function(self)
1303 local func, tp = self.impl:function_get()
1304 return M.Function(func), tp
1305 end,
1306
1307 doc_get = function(self, ftype)
1308 return M.Doc(self.impl:documentation_get(ftype))
1309 end,
1310
1311 is_auto = function(self, ftype)
1312 return self.impl:is_auto(ftype)
1313 end,
1314
1315 is_empty = function(self, ftype)
1316 return self.impl:is_empty(ftype)
1317 end,
1318
1319 is_pure_virtual = function(self, ftype)
1320 return self.impl:is_pure_virtual(ftype)
1321 end,
1322
1323 is_prop_get = function(self)
1324 return self.impl:is_prop_get()
1325 end,
1326
1327 is_prop_set = function(self)
1328 return self.impl:is_prop_set()
1329 end
1330}
1331
1276M.DocTokenizer = Node:clone { 1332M.DocTokenizer = Node:clone {
1277 UNKNOWN = eolian.doc_token_type.UNKNOWN, 1333 UNKNOWN = eolian.doc_token_type.UNKNOWN,
1278 TEXT = eolian.doc_token_type.TEXT, 1334 TEXT = eolian.doc_token_type.TEXT,