extension_type_declares_member_of_object 진단: 확장 타입이 Object 멤버와 같은 이름의 멤버를 선언할 때
extension_type_declares_member_of_object 진단: 확장 타입이 Object 멤버와 같은 이름의 멤버를 선언할 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. extension_type_declares_member_of_object은 확장 타입(extension type)의 본문에 Object가 선언한 멤버와 같은 이름의 멤버가 있을 때 분석기가 알려주는 컴파일 타임 진단이에요. 확장 타입은 Object가 선언한 멤버와 같은 이름으로 멤버를 선언할 수 없어요.
본문
설명
분석기는 확장 타입 선언의 본문에 Object가 선언한 멤버 중 하나와 같은 이름의 멤버가 있으면 이 진단을 만들어요.
다음 코드는 Object 클래스가 이미 hashCode라는 이름의 멤버를 정의하고 있기 때문에 이 진단이 나와요.
extension type E(int i) {
int get hashCode => 0;
}
흔한 해결 방법
해당 시맨틱을 가진 멤버가 필요하다면 멤버 이름을 바꿔요.
extension type E(int i) {
int get myHashCode => 0;
}
해당 시맨틱을 가진 멤버가 필요 없다면 멤버를 삭제하면 돼요.
extension type E(int i) {}