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

equal_keys_in_map_pattern

マップパターンでは、2つのキーを同じにすることはできません。

説明

#

この診断は、マップパターンに同じ名前のキーが複数含まれている場合にアナライザーによって生成されます。同じキーを2回一致させることはできません。

#

以下のコードは、キー 'a' が2回出現するため、この診断を生成します。

dart
void f(Map<String, int> x) {
  if (x case {'a': 1, 'a': 2}) {}
}

一般的な修正

#

異なる2つのキーを一致させようとしている場合は、パターン内のキーのいずれかを変更してください。

dart
void f(Map<String, int> x) {
  if (x case {'a': 1, 'b': 2}) {}
}

同じキーを一致させたいが、複数のパターンのいずれかに一致させたい場合は、論理ORパターンを使用してください。

dart
void f(Map<String, int> x) {
  if (x case {'a': 1 || 2}) {}
}