const_constructor_with_non_const_super
定数コンストラクタは、「{0}」の非定数スーパークラスコンストラクタを呼び出すことはできません。
説明
#const としてマークされたコンストラクタが、const としてマークされていないスーパークラスのコンストラクタを呼び出す場合に、アナライザーはこの診断を生成します。
例
#以下のコードは、B の const コンストラクタがクラス A の nonConst コンストラクタを呼び出し、スーパークラスのコンストラクタが const コンストラクタではないため、この診断を生成します。
dart
class A {
const A();
A.nonConst();
}
class B extends A {
const B() : super.nonConst();
}一般的な修正
#現在呼び出されているスーパークラスコンストラクタの呼び出しが必須でない場合は、スーパークラスの定数コンストラクタを呼び出してください。
dart
class A {
const A();
A.nonConst();
}
class B extends A {
const B() : super();
}現在のコンストラクタの呼び出しが必須であり、それを変更できる場合は、スーパークラスのコンストラクタに const を追加してください。
dart
class A {
const A();
const A.nonConst();
}
class B extends A {
const B() : super.nonConst();
}現在のコンストラクタの呼び出しが必須であり、それを変更できない場合は、サブクラスのコンストラクタから const を削除してください。
dart
class A {
const A();
A.nonConst();
}
class B extends A {
B() : super.nonConst();
}