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

super_in_redirecting_constructor

リダイレクトコンストラクタには 'super' 初期化子を指定できません。

説明

#

この診断は、別のコンストラクタにリダイレクトするコンストラクタが、スーパークラスのコンストラクタも呼び出そうとした場合に発生します。スーパークラスのコンストラクタは、リダイレクトコンストラクタがリダイレクトされるコンストラクタが呼び出されるときに呼び出されます。

#

以下のコードは、コンストラクタ C.aC.b にリダイレクトし、かつスーパークラスのコンストラクタを呼び出しているため、この診断を生成します。

dart
class C {
  C.a() : this.b(), super();
  C.b();
}

一般的な修正

#

super コンストラクタの呼び出しを削除してください。

dart
class C {
  C.a() : this.b();
  C.b();
}