跳到主要內容

super_invocation_not_last

(之前稱為 invalid_super_invocation)

super 建構函式呼叫必須是初始化列表中的最後一項:'{0}'。

描述

#

當建構函式的初始化列表中包含對超類(superclass)建構函式的呼叫,但該呼叫不是初始化列表中的最後一項時,分析器會生成此診斷。

示例

#

以下程式碼會產生此診斷,因為超類(superclass)建構函式的呼叫不是初始化列表中的最後一項

dart
class A {
  A(int x);
}

class B extends A {
  B(int x) : super(x), assert(x >= 0);
}

常見修復方法

#

將超類(superclass)建構函式的呼叫移至初始化列表的末尾

dart
class A {
  A(int x);
}

class B extends A {
  B(int x) : assert(x >= 0), super(x);
}