abstract_super_member_reference 진단: 슈퍼타입에 추상 멤버가 없는 경우
abstract_super_member_reference 진단: 슈퍼타입에 추상 멤버가 없는 경우
분석기가 내보내는 진단에는 이름이 있어요. abstract_super_member_reference는 super를 사용해 상속받은 멤버를 참조했는데, 슈퍼클래스 체인에 해당 멤버의 구체적인 구현이 없을 때 Dart 분석기가 알려주는 컴파일 타임 진단이에요. 추상 멤버는 호출할 수 없어요.
본문
설명
분석기는 상속받은 멤버를 super로 참조했는데 슈퍼클래스 체인에 그 멤버의 구체적인 구현이 없을 때 이 진단을 만들어요. 추상 멤버는 호출할 수 없기 때문이에요.
예시
다음 코드는 B가 a의 구체적인 구현을 상속받지 않기 때문에 이 진단을 만들어요.
abstract class A {
int get a;
}
class B extends A {
@override
int get a => super.a;
}
흔한 해결 방법
추상 멤버에 대한 호출을 제거하고, 가능하면 구체적인 멤버에 대한 호출로 바꿔요.