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

無効な_リテラル_アノテーション

@literal アノテーションは、const コンストラクタにのみ適用できます。

説明

#

literal アノテーションが const コンストラクタ以外のものに適用された場合、アナライザーはこの診断を生成します。

#

以下のコードは、コンストラクタが const コンストラクタではないため、この診断を生成します。

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

class C {
  @literal
  C();
}

以下のコードは、x がコンストラクタではないため、この診断を生成します。

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

@literal
var x;

一般的な修正

#

アノテーションがコンストラクタにあり、そのコンストラクタが可能な限り常に const で呼び出されるべきである場合は、コンストラクタに const キーワードを付けてマークしてください。

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

class C {
  @literal
  const C();
}

コンストラクタを const としてマークできない場合は、アノテーションを削除してください。

アノテーションがコンストラクタ以外のものにある場合は、アノテーションを削除してください。

dart
var x;