メインコンテンツにスキップ

prefer_const_constructors_in_immutables

'@immutable' クラスのコンストラクタは 'const' として宣言する必要があります。

説明

#

この診断は、クラスに @immutable アノテーションが付いており、const でないコンストラクタが見つかった場合にアナライザーによって生成されます。

#

以下のコードは、C@immutable アノテーションを持っているにもかかわらず、C のコンストラクタが const として宣言されていないため、この診断を生成します。

dart
import 'package:meta/meta.dart';

@immutable
class C {
  final f;

  C(this.f);
}

一般的な修正

#

クラスが本当にイミュータブルであることを意図しているのであれば、コンストラクタに const 修飾子を追加してください。

dart
import 'package:meta/meta.dart';

@immutable
class C {
  final f;

  const C(this.f);
}

クラスがミュータブルである場合は、@immutable アノテーションを削除してください。

dart
class C {
  final f;

  C(this.f);
}