unnecessary_overrides
Don't override a method to do a super method invocation with the same parameters.
This rule is available as of Dart 2.0.
Rule sets: core, recommended, flutter
This rule has a quick fix available.
Details
#DON'T override a method to do a super method invocation with same parameters.
BAD:
class A extends B {
@override
void foo() {
super.foo();
}
}GOOD:
class A extends B {
@override
void foo() {
doSomethingElse();
}
}It's valid to override a member in the following cases:
- if a type (return type or a parameter type) is not the exactly the same as the super member,
- if the
covariantkeyword is added to one of the parameters, - if documentation comments are present on the member,
- if the member has annotations other than
@override, - if the member is not annotated with
@protected, and the super member is.
noSuchMethod is a special method and is not checked by this rule.
Usage
#To enable the unnecessary_overrides rule, add unnecessary_overrides under linter > rules in your analysis_options.yaml file:
linter:
rules:
- unnecessary_overridesUnless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2024-07-03. View source or report an issue.