Revert "Removed array initializers. See issue 13496"

This reverts commit aadc059d19.
This commit is contained in:
Hackerpilot 2014-09-18 15:15:14 -07:00
parent aadc059d19
commit 33767f2d5c
3 changed files with 13 additions and 34 deletions

@ -1 +1 @@
Subproject commit 0ed37730cfe0036b700d8a96fea849a4ac227638
Subproject commit 50f0e833ce664ebb46ada342a2e14c1e1eff0c71

View File

@ -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;
}

View File

@ -960,10 +960,10 @@ class XMLPrinter : ASTVisitor
override void visit(const VariableDeclaration variableDeclaration)
{
output.writeln("<variableDeclaration>");
writeDdoc(variableDeclaration.comment);
variableDeclaration.accept(this);
output.writeln("</variableDeclaration>");
output.writeln("<variableDeclaration>");
writeDdoc(variableDeclaration.comment);
variableDeclaration.accept(this);
output.writeln("</variableDeclaration>");
}
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"); }