mixin_class_declares_constructor 진단: 생성자를 선언한 클래스를 mixin으로 쓸 수 없어요
mixin_class_declares_constructor 진단: 생성자를 선언한 클래스를 mixin으로 쓸 수 없어요
분석기가 내보내는 진단에는 이름이 있어요. mixin_class_declares_constructor는 mixin으로 사용되는 클래스가 생성자를 정의하고 있을 때 Dart 분석기가 알려주는 컴파일 타임 진단이에요.
본문
설명
분석기는 클래스가 mixin으로 사용되는데, 그 mixin으로 끼워 넣은 클래스가 생성자를 정의하고 있으면 이 진단을 만들어요.
예시
다음 코드는 생성자를 정의하고 있는 클래스 A가 mixin으로 사용되고 있어서 이 진단이 나와요.
//@dart=2.19
class A {
A();
}
class B with A {}
흔한 해결 방법
클래스를 mixin으로 바꿀 수 있다면, 그렇게 바꿔 줘요.
mixin A {
}
class B with A {}
클래스가 mixin이 될 수 없고 생성자를 제거할 수 있다면, 생성자를 제거해 줘요.
//@dart=2.19
class A {
}
class B with A {}
클래스가 mixin이 될 수 없고 생성자도 제거할 수 없다면, mixin으로 끼워 넣는 대신 클래스를 extends 나 implements 하는 방법을 써 보세요.
class A {
A();
}
class B extends A {}