collection_element_from_deferred_library
遅延ロードされたライブラリからの定数値は、'const' マップリテラルのキーとして使用できません。
遅延ロードされたライブラリからの定数値は、'const' コンストラクタの値として使用できません。
遅延ロードされたライブラリからの定数値は、'const' リストリテラルの値として使用できません。
遅延ロードされたライブラリからの定数値は、'const' マップリテラルの値として使用できません。
遅延ロードされたライブラリからの定数値は、'const' セットリテラルの値として使用できません。
説明
#アナライザがこの診断を生成するのは、明示的に (const キーワードでプレフィックスされているため) または暗黙的に (定数コンテキストに現れるため) 定数であるコレクションリテラルに、遅延インポートを使用してインポートされたライブラリで宣言された値が含まれている場合です。定数はコンパイル時に評価され、遅延ライブラリの値はコンパイル時には利用できません。
詳細については、ライブラリの遅延ロード を参照してください。
例
#定数 zero を定義するファイル a.dart があるとします。
const zero = 0;次のコードは、定数リストリテラルに deferred インポートを使用してインポートされた a.zero が含まれているため、この診断を生成します。
import 'a.dart' deferred as a;
var l = const [a.zero];一般的な修正
#コレクションリテラルが定数である必要がない場合は、const キーワードを削除してください。
import 'a.dart' deferred as a;
var l = [a.zero];コレクションが定数で、インポートされた定数を参照する必要がある場合は、インポートから deferred キーワードを削除してください。
import 'a.dart' as a;
var l = const [a.zero];定数を参照する必要がない場合は、適切な値に置き換えてください。
var l = const [0];