From: Alexandre Terrasa Date: Sat, 27 Jul 2013 00:07:31 +0000 (-0400) Subject: ni_nitdoc: better msignature display X-Git-Tag: v0.6.1~73^2~5^2~22 X-Git-Url: http://nitlanguage.org ni_nitdoc: better msignature display also fixed signature display for auto init Signed-off-by: Alexandre Terrasa --- diff --git a/src/ni_nitdoc.nit b/src/ni_nitdoc.nit index af7709d..a2608d2 100644 --- a/src/ni_nitdoc.nit +++ b/src/ni_nitdoc.nit @@ -612,6 +612,7 @@ class NitdocModule end var clients = new Array[MModule] for dep in mmodule.in_importation.smallers do + if dep.name == "
" then continue if dep == mmodule or dep.public_owner != null then continue clients.add(dep) end @@ -1036,7 +1037,7 @@ class NitdocClass prop_sorter.sort(mmethods) append("

Defined in ") c.html_link(self) - append("}: ") + append(": ") for i in [0..mmethods.length[ do var mmethod = mmethods[i] mmethod.html_link(self) @@ -1443,8 +1444,6 @@ end redef class MMethodDef redef fun html_full_desc(page) do - if not page.ctx.mbuilder.mpropdef2npropdef.has_key(self) then return - var nprop = page.ctx.mbuilder.mpropdef2npropdef[self] var classes = new Array[String] var is_redef = mproperty.intro_mclassdef.mclass != page.mclass if mproperty.is_init then @@ -1455,20 +1454,13 @@ redef class MMethodDef if is_redef then classes.add("redef") classes.add(mproperty.visibility.to_s) page.append("

") - if nprop isa AAttrPropdef then - if nprop.mreadpropdef == self then - page.append("

{mproperty.name}: ") - nprop.html_signature(page) - page.append("

") - else - page.append("

{mproperty.name}(value: ") - nprop.html_signature(page) - page.append(")

") - end - else - var intro_nprop = page.ctx.mbuilder.mpropdef2npropdef[mproperty.intro] + if page.ctx.mbuilder.mpropdef2npropdef.has_key(self) then page.append("

{mproperty.name}") - intro_nprop.html_signature(page) + msignature.html_signature(page) + page.append("

") + else + page.append("

init") + msignature.html_signature(page) page.append("

") end html_info(page) @@ -1480,7 +1472,11 @@ redef class MMethodDef page.append("
") if mproperty.visibility < public_visibility then page.append("{mproperty.visibility.to_s} ") if mproperty.intro_mclassdef.mclass != page.mclass then page.append("redef ") - page.append("fun ") + if mproperty.is_init then + page.append("init ") + else + page.append("fun ") + end mproperty.html_namespace(page) page.append("
") page.append("
") @@ -1513,6 +1509,31 @@ redef class MVirtualTypeDef end end +redef class MSignature + private fun html_signature(page: NitdocPage) do + if not mparameters.is_empty then + page.append("(") + for i in [0..mparameters.length[ do + mparameters[i].html_link(page) + if i < mparameters.length - 1 then page.append(", ") + end + page.append(")") + end + if return_mtype != null then + page.append(": ") + return_mtype.html_link(page) + end + end +end + +redef class MParameter + private fun html_link(page: NitdocPage) do + page.append("{name}: ") + mtype.html_link(page) + if is_vararg then page.append("...") + end +end + # # Nodes redefs # @@ -1554,7 +1575,6 @@ end redef class APropdef private fun short_comment: String is abstract private fun full_comment: String is abstract - private fun html_signature(page: NitdocPage) is abstract end redef class AAttrPropdef @@ -1570,10 +1590,6 @@ redef class AAttrPropdef end return res.to_s end - - redef fun html_signature(page) do - if n_type != null then n_type.mtype.html_link(page) - end end redef class AMethPropdef @@ -1589,10 +1605,6 @@ redef class AMethPropdef end return res.to_s end - - redef fun html_signature(page) do - if n_signature != null then n_signature.html_link(page) - end end redef class ATypePropdef @@ -1608,39 +1620,6 @@ redef class ATypePropdef end return res.to_s end - - redef fun html_signature(page) do - mpropdef.bound.html_link(page) - end -end - -redef class ASignature - fun html_link(page: NitdocPage) do - #TODO closures - if not n_params.is_empty then - page.append("(") - for i in [0..n_params.length[ do - n_params[i].html_link(page) - if i < n_params.length - 1 then page.append(", ") - end - page.append(")") - end - if n_type != null then - page.append(":") - n_type.mtype.html_link(page) - end - end -end - -redef class AParam - fun html_link(page: NitdocPage) do - page.append(n_id.text) - if n_type != null then - page.append(": ") - n_type.mtype.html_link(page) - if n_dotdotdot != null then page.append("...") - end - end end var nitdoc = new NitdocContext