diff --git a/astprinter.d b/astprinter.d
index 9b4031a..7454753 100644
--- a/astprinter.d
+++ b/astprinter.d
@@ -215,12 +215,18 @@ class XMLPrinter : ASTVisitor
override void visit(CaseRangeStatement caseRangeStatement)
{
output.writeln("");
- output.writeln("");
- visit(caseRangeStatement.low);
- output.writeln("");
- output.writeln("");
- visit(caseRangeStatement.high);
- output.writeln("");
+ if (caseRangeStatement.low !is null)
+ {
+ output.writeln("");
+ visit(caseRangeStatement.low);
+ output.writeln("");
+ }
+ if (caseRangeStatement.high !is null)
+ {
+ output.writeln("");
+ visit(caseRangeStatement.high);
+ output.writeln("");
+ }
if (caseRangeStatement.declarationsAndStatements !is null)
visit(caseRangeStatement.declarationsAndStatements);
output.writeln("");
@@ -1329,12 +1335,14 @@ class XMLPrinter : ASTVisitor
override void visit(Type2 type2)
{
- output.writeln("");
if (type2.builtinType != tok!"")
- output.writeln(str(type2.builtinType));
+ output.writeln("", str(type2.builtinType), "");
else
+ {
+ output.writeln("");
type2.accept(this);
- output.writeln("");
+ output.writeln("");
+ }
}
override void visit(TypeSpecialization typeSpecialization)