non_constant_map_pattern_key 진단: 맵 패턴의 키 표현식은 상수여야 해요

non_constant_map_pattern_key 진단: 맵 패턴의 키 표현식은 상수여야 해요

Dart 분석기가 만들어 내는 non_constant_map_pattern_key 진단은 맵 패턴(map pattern)의 키가 상수 표현식이 아닐 때 알려주는 컴파일 타임 진단이에요. 맵 패턴에서 키로 쓰이는 표현식은 반드시 컴파일 타임에 결정되는 상수여야 해요.

출처: non_constant_map_pattern_key

본문

설명

분석기는 맵 패턴의 키가 상수 표현식이 아닐 때 이 진단을 만들어요.

예시

다음 코드는 키 A()가 상수가 아니기 때문에 이 진단을 만들어요.

void f(Object x) {
  if (x case {A(): 0}) {}
}

class A {
  const A();
}

흔한 해결 방법

키에 상수를 사용해요.

void f(Object x) {
  if (x case {const A(): 0}) {}
}

class A {
  const A();
}

더 알아보기