extension_type_with_abstract_member

extension_type_with_abstract_member

확장 타입 안에 추상 멤버를 선언하면 이 진단이 발생해요. 확장 타입의 멤버 참조는 정적으로 해석되기 때문에, 확장 타입 안의 추상 멤버는 실행될 수가 없거든요.

출처: extension_type_with_abstract_member

본문

설명

analyzer는 확장 타입이 추상 멤버를 선언할 때 이 진단을 내보내요. 확장 타입의 멤버 참조는 정적으로 해석되기 때문에, 확장 타입 안의 추상 멤버는 한 번도 실행될 수 없어요.

예시

아래 코드는 확장 타입 E 안의 메서드 m이 추상이어서 이 진단이 발생해요.

extension type E(String s) {
  void m();
}

흔한 해결 방법

멤버를 실행할 의도라면 구현을 제공해 주세요.

extension type E(String s) {
  void m() {}
}

실행할 의도가 아니라면 그 멤버를 제거하면 돼요.

extension type E(String s) {}

더 알아보기

  • 확장 타입은 자료의 표현을 감싸면서 타입 안전성을 높여 주는 기능이에요. 멤버는 실제로 동작할 수 있도록 항상 본문을 갖도록 작성해 주세요.