sdk_version_ui_as_code_in_const_context
if文とspread要素は、バージョン2.5.0まで定数式ではサポートされていませんでしたが、このコードはそれ以前のバージョンでも実行できるようにする必要があります。
説明
#アナライザーは、SDK制約の最小バージョンが2.5.0未満であるコードで、定数コンテキスト内のifまたはspread要素が見つかった場合に、この診断を生成します。以前のバージョンでは、定数コンテキスト内でのifまたはspread要素の使用はサポートされていなかったため、このコードはSDKの以前のバージョンでは実行できません。
例
#以下は、2.5.0未満の最小バージョンを持つSDK制約を定義するpubspecの例です。
yaml
environment:
sdk: '>=2.4.0 <2.6.0'その`pubspec.yaml`を持つパッケージでは、次のようなコードがこの診断を生成します。
dart
const a = [1, 2];
const b = [...a];一般的な修正
#古いバージョンのSDKをサポートする必要がない場合は、SDK制約を増やして構文を使用できるようにすることができます。
yaml
environment:
sdk: '>=2.5.0 <2.6.0'古いバージョンのSDKをサポートする必要がある場合は、それらの要素を使用しないようにコードを書き直してください。
dart
const a = [1, 2];
const b = [1, 2];それが不可能な場合は、要素が定数コンテキストにないようにコードを変更してください。
dart
const a = [1, 2];
var b = [...a];