matching_super_parameters
Use matching super parameter names.
Details
#DO use super parameter names that match their corresponding super constructor's parameter names.
BAD:
dart
class Rectangle {
final int width;
final int height;
Rectangle(this.width, this.height);
}
class ColoredRectangle extends Rectangle {
final Color color;
ColoredRectangle(
this.color,
super.height, // Bad, actually corresponds to the `width` parameter.
super.width, // Bad, actually corresponds to the `height` parameter.
);
}GOOD:
dart
class Rectangle {
final int width;
final int height;
Rectangle(this.width, this.height);
}
class ColoredRectangle extends Rectangle {
final Color color;
ColoredRectangle(
this.color,
super.width,
super.height,
);
}
Enable
#To enable the matching_super_parameters rule,
add matching_super_parameters under linter > rules in your
analysis_options.yaml file:
analysis_options.yaml
yaml
linter:
rules:
- matching_super_parametersIf you're instead using the YAML map syntax to configure linter rules,
add matching_super_parameters: true under linter > rules:
analysis_options.yaml
yaml
linter:
rules:
matching_super_parameters: true