Skip to main content

avoid-mutating-parameters

added in: 1.7.0

Warns when a parameter's field or setter is reassigned.

Example

❌ Bad:

class SomeClass {
var flag = true;

set value(String value) {
...
}
}

void function(SomeClass some) {
some.flag = false; // LINT
some.value = 'hello'; // LINT
}

✅ Good:

class SomeClass {
var flag = true;

set value(String value) {
...
}
}

SomeClass function(SomeClass some) {
final newValue = SomeClass();
newValue.flag = false;
newValue.value = 'hello';

return newValue;
}