extension_type_declares_instance_field 진단: 확장 타입이 인스턴스 필드를 선언할 때
extension_type_declares_instance_field 진단: 확장 타입이 인스턴스 필드를 선언할 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. extension_type_declares_instance_field은 확장 타입(extension type)의 본문에 필드 선언이 있을 때 분석기가 알려주는 컴파일 타임 진단이에요. 확장 타입은 인스턴스 필드를 선언할 수 없어요.
본문
설명
분석기는 확장 타입 선언의 본문에 필드 선언이 있으면 이 진단을 만들어요.
다음 코드는 확장 타입 E가 f라는 이름의 필드를 선언하기 때문에 이 진단이 나와요.
extension type E(int i) {
final int f = 0;
}
흔한 해결 방법
필드가 필요 없다면 필드를 삭제하거나 getter나 setter로 바꿔요.
extension type E(int i) {
int get f => 0;
}
필드가 실제로 필요하다면 확장 타입을 클래스로 바꾸면 돼요.
class E {
final int i;
final int f = 0;
E(this.i);
}