From 995b1e480c84fd356fb89039dbc67db599a423cc Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Thu, 26 Jan 2017 17:50:16 +0100 Subject: [PATCH] docgen: link to the method an overriden one overrides --- src/scripts/elua/apps/gendoc.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua index 19ee12298c..a184853aa0 100644 --- a/src/scripts/elua/apps/gendoc.lua +++ b/src/scripts/elua/apps/gendoc.lua @@ -1001,6 +1001,20 @@ find_parent_doc = function(fulln, cl, ftype) return pdoc end +local write_inherited_from = function(f, impl, cl, over) + if not over then + return + end + local buf = writer.Buffer() + buf:write_raw("Overridden from ") + local pimpl, pcl = find_parent_impl(impl:full_name_get(), cl) + buf:write_link( + impl:function_get():nspaces_get(pcl, true), impl:full_name_get() + ) + buf:write_raw(".") + f:write_i(buf:finish()) +end + build_method = function(impl, cl) local over = impl:is_overridden(cl) local fn = impl:function_get() @@ -1008,6 +1022,8 @@ build_method = function(impl, cl) local f = writer.Writer(mns, cl:full_name_get() .. "." .. fn:name_get()) stats.check_method(fn, cl) + write_inherited_from(f, impl, cl, over) + local doc = impl:doc_get(fn.METHOD) if over and not doc:exists() then doc = find_parent_doc(impl:full_name_get(), cl, fn.METHOD) @@ -1044,6 +1060,8 @@ build_property = function(impl, cl) local pns = fn:nspaces_get(cl) local f = writer.Writer(pns, cl:full_name_get() .. "." .. fn:name_get()) + write_inherited_from(f, impl, cl, over) + local isget = impl:is_prop_get() local isset = impl:is_prop_set()