enum 생성자에서 super 초기화 사용

enum 생성자에서 super 초기화 사용

Dart 분석기(analyzer)가 만들어 내는 이 진단은, enum 안에 있는 생성자의 초기화 목록에서 super 생성자를 호출했을 때 알려줘요. enum은 클래스와 달리 슈퍼 생성자를 호출할 수 없기 때문에 짚고 넘어가야 하는 부분이에요.

출처: super_in_enum_constructor

본문

진단 메시지는 "The enum constructor can't have a 'super' initializer." 즉 "enum 생성자는 'super' 초기화를 가질 수 없어요."라는 뜻이에요.

설명

enum 안에 있는 생성자의 초기화 목록(initializer list)에 super 생성자 호출이 포함돼 있으면 이 진단이 나와요.

예시

다음 코드는 enum E의 생성자가 초기화 목록에 super 생성자 호출을 가져서 이 진단이 나와요:

enum E {
  e;

  const E() : super();
}

해결 방법

super 생성자 호출을 제거하면 돼요:

enum E {
  e;

  const E();
}

더 알아보기