must_be_immutable
このクラス(またはこのクラスが継承しているクラス)は「@immutable」とマークされていますが、インスタンスフィールドの1つ以上が final ではありません: {0}
説明
#アナライザーは、不変クラスが final ではないインスタンスフィールドを1つ以上定義している場合に、この診断を生成します。クラスが不変であるとは、immutable アノテーションを使用して不変であるとマークされているか、または不変クラスのサブクラスである場合です。
例
#以下のコードは、フィールド x が final ではないため、この診断を生成します。
dart
import 'package:meta/meta.dart';
@immutable
class C {
int x;
C(this.x);
}一般的な修正
#クラスのインスタンスを不変にしたい場合は、final ではないすべてのフィールド宣言に final キーワードを追加してください。
dart
import 'package:meta/meta.dart';
@immutable
class C {
final int x;
C(this.x);
}クラスのインスタンスを可変にしたい場合は、アノテーションを削除するか、アノテーションが継承されている場合は別のスーパークラスを選択してください。
dart
class C {
int x;
C(this.x);
}