late_final_field_with_const_constructor 진단: const 생성자와 late final 필드

late_final_field_with_const_constructor 진단: const 생성자와 late final 필드

Dart 분석기가 만들어 내는 late_final_field_with_const_constructor 진단에 대해 설명해요.

출처: late_final_field_with_const_constructor

본문

generative const 생성자가 있는 클래스에는 late final 필드를 가질 수 없어요.

설명

분석기는 const 생성자가 하나 이상 있는 클래스에 latefinal이 모두 표시된 필드가 있을 때 이 진단을 만들어요.

예시

다음 코드는 클래스 A에 const 생성자가 있고 final 필드 flate로 표시되어 있기 때문에 이 진단을 만들어요.

class A {
  late final int f;

  const A();
}

흔한 해결 방법

필드를 late로 표시할 필요가 없다면, 필드에서 late 수정자를 제거해요.

class A {
  final int f = 0;

  const A();
}

필드를 반드시 late로 표시해야 한다면, 생성자에서 const 수정자를 제거해요.

class A {
  late final int f;

  A();
}

더 알아보기