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

undefined_super_member

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

ゲッター '{0}' は '{1}' のスーパークラスでは定義されていません。

メソッド '{0}' は '{1}' のスーパークラスでは定義されていません。

演算子 '{0}' は '{1}' のスーパークラスでは定義されていません。

セッター '{0}' は '{1}' のスーパークラスでは定義されていません。

説明

#

super を使用して継承されたメンバー(メソッド、ゲッター、セッター、または演算子)を参照しているが、スーパークラスチェーンにその名前のメンバーが存在しない場合に、アナライザーはこの診断を生成します。

#

以下のコードは、Objectn という名前のメソッドを定義していないため、この診断を生成します。

dart
class C {
  void m() {
    super.n();
  }
}

以下のコードは、Objectg という名前のゲッターを定義していないため、この診断を生成します。

dart
class C {
  void m() {
    super.g;
  }
}

一般的な修正

#

呼び出そうとしている継承されたメンバーが異なる名前を持っている場合は、呼び出されるメンバーの名前を継承されたメンバーの名前に一致させてください。

呼び出そうとしているメンバーが同じクラスで定義されている場合は、super. を削除してください。

メンバーが定義されていない場合は、メンバーをスーパークラスのいずれかに追加するか、呼び出しを削除してください。