matching_super_parameters
Use matching super parameter names.
Details
#DO use super parameter names that match their corresponding super constructor's parameter names.
BAD:
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:
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:
linter:
rules:
- matching_super_parameters
If you're instead using the YAML map syntax to configure linter rules, add matching_super_parameters: true
under linter > rules:
linter:
rules:
matching_super_parameters: true
Unless stated otherwise, the documentation on this site reflects Dart 3.7.0. Page last updated on 2025-01-27. View source or report an issue.