const_constructor_with_non_final_field
finalではないフィールドを持つクラスにconstコンストラクタを定義することはできません。
説明
#コンストラクタがconstコンストラクタとしてマークされているにもかかわらず、そのコンストラクタが少なくとも1つのfinalではないインスタンスフィールド(直接または継承による)を持つクラスで定義されている場合に、アナライザはこの診断を生成します。
例
#以下のコードは、フィールドxがfinalではないため、この診断を生成します。
dart
class C {
int x;
const C(this.x);
}一般的な修正
#すべてのフィールドをfinalとしてマークできる場合は、そうしてください。
dart
class C {
final int x;
const C(this.x);
}すべてのフィールドをfinalとしてマークできない場合は、コンストラクタからconstキーワードを削除してください。
dart
class C {
int x;
C(this.x);
}