Contents
Contents

Use super-initializer parameters where possible.

This rule is currently experimental and available as of Dart 2.17.0.

Rule sets: recommended, flutter

This rule has a quick fix available.

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:

dart
class A {
  A({int? x, int? y});
}
class B extends A {
  B({int? x, int? y}) : super(x: x, y: y);
}

GOOD:

dart
class A {
  A({int? x, int? y});
}
class B extends A {
  B({super.x, super.y});
}

Usage

#

To enable the use_super_parameters rule, add use_super_parameters under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:
  rules:
    - use_super_parameters