- fun description(prop: MProperty) do
- if not mbuilder.mpropdef2npropdef.has_key(prop.intro) then return
- var nprop = mbuilder.mpropdef2npropdef[prop.intro]
- if not nprop isa AMethPropdef then return
- var classes = new Array[String]
- if nprop isa AInitPropdef then
- classes.add("init")
- else
- classes.add("fun")
- end
- if prop.is_redef then classes.add("redef")
- if prop.visibility == none_visibility then
- classes.add("private")
- else if prop.visibility == protected_visibility then
- classes.add("protected")
- else
- classes.add("public")
- end
- append("<article class='{classes.join(" ")}' id='{prop.anchor}'>")
- var sign = prop.name
- append("<h3 class='signature'>{prop.name}{nprop.signature}</h3>")
- append("<div class='info'>")
- append("{if prop.is_redef then "redef" else ""} fun {prop.intro_mclassdef.namespace(mclass)}::{prop.name}</div><div style=\"float: right;\"><a id=\"lblDiffCommit\"></a>")
- append("</div>")
- append("<div class='description'>")
- if nprop.comment == "" then
- append("<a class=\"newComment\" title=\"32\" tag=\"\">New Comment</a>")
- else
- append("<pre class=\"text_label\" title=\"\" name=\"\" tag=\"\" type=\"1\">{nprop.comment}</pre>")
- end
- append("<textarea id=\"fileContent\" class=\"edit\" cols=\"76\" rows=\"1\" style=\"display: none;\"></textarea><a id=\"cancelBtn\" style=\"display: none;\">Cancel</a><a id=\"commitBtn\" style=\"display: none;\">Commit</a><pre id=\"preSave\" class=\"text_label\" type=\"2\"></pre>")
- append("<p>")
- if prop.local_class != mclass then
- var mredef = prop.local_class.intro_mmodule
- append("inherited from {mredef.link(mbuilder)} ")
- end
- #TODO display show code if doc github
- var mintro = prop.intro_mclassdef.mmodule
- append("defined by the module {mintro.link(mbuilder)}{if prop.apropdef is null then "" else show_source(prop.apropdef.location)}.")
-
- for parent in mclass.parents do
- var mparent = parent.intro_mmodule
- if prop isa MMethod then if parent.constructors.has(prop) then append(" Previously defined by: {mparent.link(mbuilder)} for <a href=\"{parent.name}.html\">{parent.name}</a>.")
- end
- append("</p>")
- append("</div>")
- append("</article>")
- end
-
- fun process_generate_dot do
- var pe = nitdoc.class_hierarchy[mclass]