From 61ac6919eef8b82759d5f5c9dd0724b5b4c45dd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Sat, 29 Jan 2011 14:06:58 +0100 Subject: [PATCH] Autodoc: Cleaned up presentation of modifiers. --- refdoc/presentation/make_html.pike | 37 +++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/refdoc/presentation/make_html.pike b/refdoc/presentation/make_html.pike index 12deaf1f90..b8c97cb349 100644 --- a/refdoc/presentation/make_html.pike +++ b/refdoc/presentation/make_html.pike @@ -857,24 +857,35 @@ string parse_type(Node n, void|string debug) { ret += sprintf("__attribute__(%s, %s)", attr, subtype); } break; - case "static": // Not in XSLT - ret += "static "; + + // Modifiers: + case "extern": // Not in XSLT + ret += "extern "; break; - case "optional": // Not in XSLT - ret += "optional "; + case "final": // Not in XSLT + case "nomask": // Not in XSLT + ret += "final "; break; + case "inline": // Not in XSLT case "local": // Not in XSLT ret += "local "; break; + case "optional": // Not in XSLT + ret += "optional "; + break; case "private": // Not in XSLT ret += "private "; break; case "protected": // Not in XSLT + case "static": // Not in XSLT ret += "protected "; break; case "public": // Not in XSLT // Ignored. break; + case "variant": // Not in XSLT + ret += "variant "; + break; default: error( "Illegal element " + n->get_any_name() + " in mode type.\n" ); @@ -1063,7 +1074,10 @@ string parse_not_doc(Node n) { ret += "<b>)</b></tt>"; break; default: - ret += "<tt>" + parse_type(get_first_element(c->get_first_element("returntype"))); // Check for more children + ret += "<tt>"; + cc = c->get_first_element("modifiers"); + if(cc) ret += map(cc->get_children(), parse_type)*" " + " "; + ret += parse_type(get_first_element(c->get_first_element("returntype"))); // Check for more children ret += " "; ret += c->get_attributes()->class_path; ret += "<b><font color='#000066'>" + c->get_attributes()->name + "</font>(</b>"; @@ -1100,7 +1114,10 @@ string parse_not_doc(Node n) { case "constant": if(const++) ret += "<br />\n"; - ret += "<tt>constant "; + ret += "<tt>"; + cc = c->get_first_element("modifiers"); + if(cc) ret += map(cc->get_children(), parse_type)*" " + " "; + ret += "constant "; if (Node type = c->get_first_element ("type")) ret += parse_type (get_first_element (type), "constant") + " "; ret += c->get_attributes()->class_path; @@ -1112,16 +1129,20 @@ string parse_not_doc(Node n) { case "typedef": if(typedf++) ret += "<br />\n"; - ret += "<tt>typedef "; + ret += "<tt>"; cc = c->get_first_element("modifiers"); if(cc) ret += map(cc->get_children(), parse_type)*" " + " "; + ret += "typedef "; ret += parse_type(get_first_element(c->get_first_element("type")), "typedef") + " " + c->get_attributes()->class_path + "<font color='#F000F0'>" + c->get_attributes()->name + "</font></tt>"; break; case "inherit": - ret += "<font face='courier'>inherit "; + ret += "<font face='courier'>"; + cc = c->get_first_element("modifiers"); + if(cc) ret += map(cc->get_children(), parse_type)*" " + " "; + ret += "inherit "; Node n = c->get_first_element("classname"); if (resolve_reference) { ret += "</font>" + -- GitLab