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

super_invocation_not_last

(以前は invalid_super_invocation として知られていました)

スーパークラスのコンストラクタ呼び出しは、初期化子リストの最後に配置する必要があります: '{0}'。

説明

#

コンストラクタの初期化子リストにスーパークラスのコンストラクタの呼び出しが含まれているが、その呼び出しが初期化子リストの最後の項目でない場合に、アナライザはこの診断を生成します。

#

次のコードは、スーパークラスのコンストラクタの呼び出しが初期化子リストの最後の項目でないため、この診断を生成します。

dart
class A {
  A(int x);
}

class B extends A {
  B(int x) : super(x), assert(x >= 0);
}

一般的な修正

#

スーパークラスのコンストラクタの呼び出しを初期化子リストの末尾に移動してください。

dart
class A {
  A(int x);
}

class B extends A {
  B(int x) : assert(x >= 0), super(x);
}