Mercurial > projects > dil
changeset 770:26d8ed59806d
Emitting SYMBOL macro with interesting parameters.
Added DDoc macro file for dil.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Mon, 18 Feb 2008 02:47:15 +0100 |
parents | 5e3ef1b2011c |
children | ef9bee5a2d61 |
files | trunk/src/cmd/DDoc.d trunk/src/config.d trunk/src/macros_dil.ddoc |
diffstat | 3 files changed, 27 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/cmd/DDoc.d Sun Feb 17 02:21:55 2008 +0100 +++ b/trunk/src/cmd/DDoc.d Mon Feb 18 02:47:15 2008 +0100 @@ -446,9 +446,12 @@ text ~= s; } - void SYMBOL(char[] name) + void SYMBOL(char[] name, Declaration d) { - write("$(DDOC_PSYMBOL ", name, ")"); + auto loc = d.begin.getRealLocation(); + auto str = Format("$(SYMBOL {}, {}, {}.d, {})", name, modul.getFQN(), modul.getFQNPath(), loc.lineNum); + write(str); + // write("$(DDOC_PSYMBOL ", name, ")"); } uint prevDeclOffset; @@ -497,7 +500,7 @@ return d; DECL({ write(d.begin.srcText, " "); - SYMBOL(d.name.str); + SYMBOL(d.name.str, d); writeTemplateParams(); writeInheritanceList(d.bases); }); @@ -517,7 +520,7 @@ DECL({ write(d.begin.srcText, d.name ? " " : ""); if (d.name) - SYMBOL(d.name.str); + SYMBOL(d.name.str, d); writeTemplateParams(); }); DESC({ @@ -539,7 +542,12 @@ { if (!ddoc(d)) return d; - DECL({ write(textSpan(d.begin, d.end)); }, false); + if (auto vd = d.decl.Is!(VariablesDeclaration)) + foreach (name; vd.names) + DECL({ write("alias "); SYMBOL(name.str, d); }); + else if (auto fd = d.decl.Is!(FunctionDeclaration)) + {} + // DECL({ write(textSpan(d.begin, d.end)); }, false); DESC({ writeComment(); }); return d; } @@ -548,7 +556,12 @@ { if (!ddoc(d)) return d; - DECL({ write(textSpan(d.begin, d.end)); }, false); + if (auto vd = d.decl.Is!(VariablesDeclaration)) + foreach (name; vd.names) + DECL({ write("typedef "); SYMBOL(name.str, d); }); + else if (auto fd = d.decl.Is!(FunctionDeclaration)) + {} + // DECL({ write(textSpan(d.begin, d.end)); }, false); DESC({ writeComment(); }); return d; } @@ -559,7 +572,7 @@ return d; DECL({ write("enum", d.name ? " " : ""); - d.name && SYMBOL(d.name.str); + d.name && SYMBOL(d.name.str, d); }); DESC({ writeComment(); @@ -572,7 +585,7 @@ { if (!ddoc(d)) return d; - DECL({ SYMBOL(d.name.str); }, false); + DECL({ SYMBOL(d.name.str, d); }, false); DESC({ writeComment(); }); return d; } @@ -590,7 +603,7 @@ return d; DECL({ write("template "); - SYMBOL(d.name.str); + SYMBOL(d.name.str, d); writeTemplateParams(); }); DESC({ @@ -670,7 +683,7 @@ auto type = textSpan(d.returnType.baseType.begin, d.returnType.end); DECL({ write(escape(type), " "); - SYMBOL(d.name.str); + SYMBOL(d.name.str, d); writeTemplateParams(); writeParams(d.params); }); @@ -704,7 +717,7 @@ if (d.typeNode) type = textSpan(d.typeNode.baseType.begin, d.typeNode.end); foreach (name; d.names) - DECL({ write(escape(type), " "); SYMBOL(name.str); }); + DECL({ write(escape(type), " "); SYMBOL(name.str, d); }); DESC({ writeComment(); }); return d; }
--- a/trunk/src/config.d Sun Feb 17 02:21:55 2008 +0100 +++ b/trunk/src/config.d Mon Feb 18 02:47:15 2008 +0100 @@ -10,7 +10,7 @@ var import_paths = []; /// E.g.: ["src/", "import/"] /// DDoc macro file paths. -var ddoc_files = []; /// E.g.: ["src/mymacros.ddoc", "othermacros.ddoc"] +var ddoc_files = ["predefined.ddoc"]; /// E.g.: ["src/mymacros.ddoc", "othermacros.ddoc"] var xml_map = "xml_map.d"; var html_map = "html_map.d";