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

mixin_application_no_concrete_super_invoked_member

クラスには、スーパークラスで呼び出されたメンバー '{0}' の具体的な実装がありません。

クラスには、スーパークラスで呼び出されたセッター '{0}' の具体的な実装がありません。

説明

#

この診断は、ミックスインアプリケーションがスーパークラスからのメンバーの呼び出しを含み、ミックスインアプリケーションのスーパークラスにその名前の具体的なメンバーが存在しない場合に、アナライザーによって生成されます。

#

以下のコードは、ミックスインMが呼び出しsuper.m()を含み、ミックスインアプリケーションA+MのスーパークラスであるクラスAmの具体的な実装を定義していないため、この診断を生成します。

dart
abstract class A {
  void m();
}

mixin M on A {
  void bar() {
    super.m();
  }
}

abstract class B extends A with M {}

一般的な修正

#

ミックスインMを、mの具体的な実装を持つ別のクラスに適用するつもりだった場合は、Bのスーパークラスをそのクラスに変更してください。

dart
abstract class A {
  void m();
}

mixin M on A {
  void bar() {
    super.m();
  }
}

class C implements A {
  void m() {}
}

abstract class B extends C with M {}

BAのサブクラスにする必要がある場合は、Amの具体的な実装を追加してください。

dart
abstract class A {
  void m() {}
}

mixin M on A {
  void bar() {
    super.m();
  }
}

abstract class B extends A with M {}