enum_constant_with_non_const_constructor 진단: const가 아닌 생성자로 열거형 값 만들기

enum_constant_with_non_const_constructor 진단: const가 아닌 생성자로 열거형 값 만들기

Dart 분석기가 내보내는 진단에는 이름이 있어요. enum_constant_with_non_const_constructor호출된 생성자가 const 생성자가 아닐 때 분석기가 알려주는 컴파일 타임 진단이에요. 열거형 값은 상수여야 하는데, const가 아닌 생성자로 만들 수는 없어요.

출처: enum_constant_with_non_const_constructor

본문

설명

열거형 값을 만들 때 factory 생성자나 const로 표시되지 않은 generative 생성자를 사용하면 분석기가 이 진단을 만들어요. 열거형 값은 항상 상수여야 하기 때문이에요.

예시

아래 코드는 열거형 값 e가 factory 생성자에 의해 초기화되므로 이 진단이 나와요.

enum E {
  e();

  factory E() => e;
}

흔한 해결 방법

const로 표시된 generative 생성자를 사용해요.

enum E {
  e._();

  factory E() => e;

  const E._();
}

더 알아보기