メインコンテンツにスキップ

unnecessary_overrides

不要なオーバーライド。

説明

#

インスタンスメンバーが継承されたメンバーをオーバーライドするものの、オーバーライドされたメンバーをまったく同じ引数で呼び出すだけで、アナライザーはこの診断を生成します。

#

次のコードは、メソッド D.m がオーバーライドされたメソッドを呼び出す以外に何もしないため、この診断を生成します。

dart
class C {
  int m(int x) => x;
}

class D extends C {
  @override
  int m(int x) => super.m(x);
}

一般的な修正

#

メソッドがオーバーライドされたメソッドよりもさらに何かを行うべきである場合は、不足している機能を実装してください。

dart
class C {
  int m(int x) => x;
}

class D extends C {
  @override
  int m(int x) => super.m(x) + 1;
}

オーバーライドされたメソッドを、戻り値の型または1つ以上のパラメータの型を変更することによって変更する必要がある場合、パラメータの1つを covariant にすること、ドキュメンテーションコメントを持つこと、または追加のアノテーションを持つことによって変更する必要がある場合は、コードを更新してください。

dart
import 'package:meta/meta.dart';

class C {
  int m(int x) => x;
}

class D extends C {
  @mustCallSuper
  @override
  int m(int x) => super.m(x);
}

オーバーライドするメソッドがコードの意味を変更または強化しない場合は、削除してください。

dart
class C {
  int m(int x) => x;
}

class D extends C {}