diff --git a/libdparse b/libdparse index 0ed3773..50f0e83 160000 --- a/libdparse +++ b/libdparse @@ -1 +1 @@ -Subproject commit 0ed37730cfe0036b700d8a96fea849a4ac227638 +Subproject commit 50f0e833ce664ebb46ada342a2e14c1e1eff0c71 diff --git a/src/analysis/enumarrayliteral.d b/src/analysis/enumarrayliteral.d index 0564767..545851a 100644 --- a/src/analysis/enumarrayliteral.d +++ b/src/analysis/enumarrayliteral.d @@ -49,38 +49,15 @@ class EnumArrayLiteralCheck : BaseAnalyzer { if (initializer is null) continue; if (initializer.nonVoidInitializer is null) continue; - if (initializer.nonVoidInitializer.assignExpression is null) continue; - line = autoDec.identifiers[i].line; - column = autoDec.identifiers[i].column; - text = autoDec.identifiers[i].text; -// visit(initializer.nonVoidInitializer.assignExpression); + if (initializer.nonVoidInitializer.arrayInitializer is null) continue; + addErrorMessage(autoDec.identifiers[i].line, + autoDec.identifiers[i].column, "dscanner.performance.enum_array_literal", + "This enum may lead to unnecessary allocation at run-time." + ~ " Use 'static immutable " ~ autoDec.identifiers[i].text + ~ " = [ ...' instead."); } } autoDec.accept(this); } - - override void visit(const ArrayLiteral arrayLiteral) - { - if (!looking) - return; - addErrorMessage(line, column, "dscanner.performance.enum_array_literal", - "This enum may lead to unnecessary allocation at run-time." - ~ " Use 'static immutable " ~ text ~ " = [ ...' instead."); - } - - override void visit(const AssocArrayLiteral assocArrayLiteral) - { - if (!looking) - return; - addErrorMessage(line, column, "dscanner.performance.enum_array_literal", - "This enum may lead to unnecessary allocation at run-time." - ~ " Use 'static immutable " ~ text ~ " = [ ...' instead."); - } - -private: - - string text; - size_t line; - size_t column; } diff --git a/src/astprinter.d b/src/astprinter.d index 6cf7e1d..8302510 100644 --- a/src/astprinter.d +++ b/src/astprinter.d @@ -960,10 +960,10 @@ class XMLPrinter : ASTVisitor override void visit(const VariableDeclaration variableDeclaration) { - output.writeln(""); - writeDdoc(variableDeclaration.comment); - variableDeclaration.accept(this); - output.writeln(""); + output.writeln(""); + writeDdoc(variableDeclaration.comment); + variableDeclaration.accept(this); + output.writeln(""); } override void visit(const XorExpression xorExpression) @@ -985,7 +985,9 @@ class XMLPrinter : ASTVisitor override void visit(const AliasThisDeclaration aliasThisDeclaration) { mixin (tagAndAccept!"aliasThisDeclaration"); } override void visit(const ArgumentList argumentList) { mixin (tagAndAccept!"argumentList"); } override void visit(const Arguments arguments) { mixin (tagAndAccept!"arguments"); } + override void visit(const ArrayInitializer arrayInitializer) { mixin (tagAndAccept!"arrayInitializer"); } override void visit(const ArrayLiteral arrayLiteral) { mixin (tagAndAccept!"arrayLiteral"); } + override void visit(const ArrayMemberInitialization arrayMemberInitialization) { mixin (tagAndAccept!"arrayMemberInitialization"); } override void visit(const AsmAddExp asmAddExp) { mixin (tagAndAccept!"asmAddExp"); } override void visit(const AsmAndExp asmAndExp) { mixin (tagAndAccept!"asmAndExp"); } override void visit(const AsmBrExp asmBrExp) { mixin (tagAndAccept!"asmBrExp"); }