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 진단에 대해 설명해요.
본문
generative const 생성자가 있는 클래스에는 late final 필드를 가질 수 없어요.
설명
분석기는 const 생성자가 하나 이상 있는 클래스에 late와 final이 모두 표시된 필드가 있을 때 이 진단을 만들어요.
예시
다음 코드는 클래스 A에 const 생성자가 있고 final 필드 f가 late로 표시되어 있기 때문에 이 진단을 만들어요.
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();
}