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

positional_field_in_object_pattern

オブジェクトパターンでは名前付きフィールドのみ使用できます。

説明

#

getter 名を指定せずにフィールドを含むオブジェクトパターンが存在する場合、アナライザーはこの診断を生成します。オブジェクトパターンのフィールドは、オブジェクトの getter が返す値と照合されます。getter 名が指定されていない場合、パターンフィールドは照合を試みる値にアクセスできません。

#

以下のコードは、オブジェクトパターン String(1)String のどの getter にアクセスして値 1 と比較するかを指定していないため、この診断を生成します。

dart
void f(Object o) {
  if (o case String(1)) {}
}

一般的な修正

#

値をアクセスするために getter 名を追加し、その後に照合するパターンをコロンで区切って記述します。

dart
void f(Object o) {
  if (o case String(length: 1)) {}
}