跳到主要内容

super_in_redirecting_constructor

重定向构造函数不能有 'super' 初始化器。

描述

#

当一个构造函数重定向到另一个构造函数,同时还尝试调用超类的构造函数时,分析器会产生此诊断。超类构造函数将在重定向构造函数所指向的构造函数被调用时被调用。

示例

#

以下代码会产生此诊断,因为构造函数 C.a 既重定向到 C.b 又调用了超类的构造函数

dart
class C {
  C.a() : this.b(), super();
  C.b();
}

常见修复方法

#

移除对 super 构造函数的调用

dart
class C {
  C.a() : this.b();
  C.b();
}