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 {}