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 is null) continue;
|
||||||
if (initializer.nonVoidInitializer is null) continue;
|
if (initializer.nonVoidInitializer is null) continue;
|
||||||
if (initializer.nonVoidInitializer.assignExpression is null) continue;
|
if (initializer.nonVoidInitializer.arrayInitializer is null) continue;
|
||||||
line = autoDec.identifiers[i].line;
|
addErrorMessage(autoDec.identifiers[i].line,
|
||||||
column = autoDec.identifiers[i].column;
|
autoDec.identifiers[i].column, "dscanner.performance.enum_array_literal",
|
||||||
text = autoDec.identifiers[i].text;
|
"This enum may lead to unnecessary allocation at run-time."
|
||||||
// visit(initializer.nonVoidInitializer.assignExpression);
|
~ " Use 'static immutable " ~ autoDec.identifiers[i].text
|
||||||
|
~ " = [ ...' instead.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
autoDec.accept(this);
|
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -985,7 +985,9 @@ class XMLPrinter : ASTVisitor
|
||||||
override void visit(const AliasThisDeclaration aliasThisDeclaration) { mixin (tagAndAccept!"aliasThisDeclaration"); }
|
override void visit(const AliasThisDeclaration aliasThisDeclaration) { mixin (tagAndAccept!"aliasThisDeclaration"); }
|
||||||
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 ArrayLiteral arrayLiteral) { mixin (tagAndAccept!"arrayLiteral"); }
|
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 AsmAddExp asmAddExp) { mixin (tagAndAccept!"asmAddExp"); }
|
||||||
override void visit(const AsmAndExp asmAndExp) { mixin (tagAndAccept!"asmAndExp"); }
|
override void visit(const AsmAndExp asmAndExp) { mixin (tagAndAccept!"asmAndExp"); }
|
||||||
override void visit(const AsmBrExp asmBrExp) { mixin (tagAndAccept!"asmBrExp"); }
|
override void visit(const AsmBrExp asmBrExp) { mixin (tagAndAccept!"asmBrExp"); }
|
||||||
|
|
Loading…
Reference in New Issue