Revert "Removed array initializers. See issue 13496"
This reverts commit aadc059d19
.
This commit is contained in:
parent
aadc059d19
commit
33767f2d5c
|
@ -1 +1 @@
|
|||
Subproject commit 0ed37730cfe0036b700d8a96fea849a4ac227638
|
||||
Subproject commit 50f0e833ce664ebb46ada342a2e14c1e1eff0c71
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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"); }
|
||||
|
|
Loading…
Reference in New Issue