Skip to content

Commit 535db47

Browse files
Ignore magic number in constructor initializer
1 parent eb00fb4 commit 535db47

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

lib/lints/no_magic_number/no_magic_number_rule.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ class NoMagicNumberRule extends SolidLintRule<NoMagicNumberParameters> {
7070
.where(_isNotInDateTime)
7171
.where(_isNotInsideIndexExpression)
7272
.where(_isNotInsideEnumConstantArguments)
73-
.where(_isNotDefaultValue);
73+
.where(_isNotDefaultValue)
74+
.where(_isNotConstructorInitializer);
7475

7576
for (final magicNumber in magicNumbers) {
7677
reporter.reportErrorForNode(code, magicNumber);
@@ -127,4 +128,8 @@ class NoMagicNumberRule extends SolidLintRule<NoMagicNumberParameters> {
127128
bool _isNotDefaultValue(Literal literal) {
128129
return literal.thisOrAncestorOfType<DefaultFormalParameter>() == null;
129130
}
131+
132+
bool _isNotConstructorInitializer(Literal literal) {
133+
return literal.thisOrAncestorOfType<ConstructorInitializer>() == null;
134+
}
130135
}

lint_test/no_magic_number_test.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,10 @@ class DefaultValues {
7979
void topLevelFunctionWithDefaultParam({int value = 6}) {
8080
({int value = 7}) {};
8181
}
82+
83+
// Allowed for numbers in constructor initializer.
84+
class ConstructorInitializer {
85+
final int value;
86+
87+
ConstructorInitializer() : value = 10;
88+
}

0 commit comments

Comments
 (0)