use_ super_ parameters
Use super-initializer parameters where possible.
Details
#"Forwarding constructor"s, that do nothing except forward parameters to their superclass constructors should take advantage of super-initializer parameters rather than repeating the names of parameters when passing them to the superclass constructors. This makes the code more concise and easier to read and maintain.
DO use super-initializer parameters where possible.
BAD:
class A {
A({int? x, int? y});
}
class B extends A {
B({int? x, int? y}) : super(x: x, y: y);
}
GOOD:
class A {
A({int? x, int? y});
}
class B extends A {
B({super.x, super.y});
}
Enable
#
To enable the
use_super_parameters
rule, add
use_super_parameters
under
linter > rules
in your
analysis_options.yaml
file:
linter:
rules:
- use_super_parameters
If you're instead using the YAML map syntax to configure linter rules,
add
use_super_parameters: true
under
linter > rules:
linter:
rules:
use_super_parameters: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.