mixin_application_no_concrete_super_invoked_member
该类没有超类调用成员“{0}”的具体实现。
该类没有超类调用 setter “{0}”的具体实现。
描述
#当混入应用包含对其超类成员的调用,并且该混入应用的超类中没有该名称的具体成员时,分析器会生成此诊断。
示例
#以下代码会产生此诊断,因为混入 M 包含调用 super.m(),而类 A 作为混入应用 A+M 的超类,没有定义 m 的具体实现。
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 {}如果您需要让 B 成为 A 的子类,则在 A 中添加 m 的具体实现。
dart
abstract class A {
void m() {}
}
mixin M on A {
void bar() {
super.m();
}
}
abstract class B extends A with M {}