Update libdparse

This commit is contained in:
Hackerpilot 2015-04-13 16:37:24 -07:00
parent c5392e7adb
commit 25b856f607
2 changed files with 27 additions and 22 deletions

@ -1 +1 @@
Subproject commit 4c846b616bb38c74c69eb63ed39aeb7ac4511f9e Subproject commit 16b75e718643bd0ca75ed2bcea6ce2a3dd6ebf37

View File

@ -271,8 +271,13 @@ class XMLPrinter : ASTVisitor
override void visit(const Deprecated deprecated_) override void visit(const Deprecated deprecated_)
{ {
if (deprecated_.stringLiteral.type != tok!"") if (deprecated_.stringLiterals.length > 0)
output.writeln("<deprecated>", deprecated_.stringLiteral.text, "</deprecated>"); {
output.writeln("<deprecated>");
foreach (literal; deprecated_.stringLiterals)
output.writeln("<stringLiteral>", xmlEscape(literal.text), "</stringLiteral>");
output.writeln("</deprecated>");
}
else else
output.writeln("<deprecated/>"); output.writeln("<deprecated/>");
} }
@ -287,17 +292,17 @@ class XMLPrinter : ASTVisitor
output.writeln("</enumDeclaration>"); output.writeln("</enumDeclaration>");
} }
override void visit(const AnonymousEnumMember enumMember) override void visit(const AnonymousEnumMember enumMember)
{ {
output.writeln("<anonymousEnumMember line=\"", enumMember.name.line, "\">"); output.writeln("<anonymousEnumMember line=\"", enumMember.name.line, "\">");
writeDdoc(enumMember.comment); writeDdoc(enumMember.comment);
if (enumMember.type !is null) if (enumMember.type !is null)
visit(enumMember.type); visit(enumMember.type);
output.write("<name>", enumMember.name.text, "</name>"); output.write("<name>", enumMember.name.text, "</name>");
if (enumMember.assignExpression !is null) if (enumMember.assignExpression !is null)
visit(enumMember.assignExpression); visit(enumMember.assignExpression);
output.writeln("</anonymousEnumMember>"); output.writeln("</anonymousEnumMember>");
} }
override void visit(const EnumMember enumMem) override void visit(const EnumMember enumMem)
{ {
@ -964,7 +969,7 @@ class XMLPrinter : ASTVisitor
override void visit(const AliasInitializer aliasInitializer) { mixin (tagAndAccept!"aliasInitializer"); } override void visit(const AliasInitializer aliasInitializer) { mixin (tagAndAccept!"aliasInitializer"); }
override void visit(const AliasThisDeclaration aliasThisDeclaration) { mixin (tagAndAccept!"aliasThisDeclaration"); } override void visit(const AliasThisDeclaration aliasThisDeclaration) { mixin (tagAndAccept!"aliasThisDeclaration"); }
override void visit(const AnonymousEnumDeclaration anonymousEnumDeclaration) { mixin (tagAndAccept!"anonymousEnumDeclaration"); } override void visit(const AnonymousEnumDeclaration anonymousEnumDeclaration) { mixin (tagAndAccept!"anonymousEnumDeclaration"); }
override void visit(const ArgumentList argumentList) { mixin (tagAndAccept!"argumentList"); } override void visit(const ArgumentList argumentList) { mixin (tagAndAccept!"argumentList"); }
override void visit(const Arguments arguments) { mixin (tagAndAccept!"arguments"); } override void visit(const Arguments arguments) { mixin (tagAndAccept!"arguments"); }
override void visit(const ArrayInitializer arrayInitializer) { mixin (tagAndAccept!"arrayInitializer"); } override void visit(const ArrayInitializer arrayInitializer) { mixin (tagAndAccept!"arrayInitializer"); }
@ -1096,10 +1101,10 @@ class XMLPrinter : ASTVisitor
'\"' : "&quot;", '\'' : "&apos;"]); '\"' : "&quot;", '\'' : "&apos;"]);
} }
private void writeName(string name) private void writeName(string name)
{ {
output.write("<name>", name, "</name>"); output.write("<name>", name, "</name>");
} }
private void writeDdoc(string comment) private void writeDdoc(string comment)
{ {
@ -1107,9 +1112,9 @@ class XMLPrinter : ASTVisitor
output.writeln("<ddoc>", xmlEscape(comment), "</ddoc>"); output.writeln("<ddoc>", xmlEscape(comment), "</ddoc>");
} }
/** /**
* File that output is written to. * File that output is written to.
*/ */
File output; File output;
} }