여러 개의 리다이렉팅 생성자 호출
여러 개의 리다이렉팅 생성자 호출
Constructors can have only one 'this' redirection, at most.
이 진단은 생성자가 같은 클래스의 다른 생성자로 this 리다이렉션을 2개 이상 할 때 나타나요. 생성자 리다이렉션은 한 번만 할 수 있어요.
본문
이 애널라이저 진단은 어떤 생성자가 같은 클래스 안에 있는 다른 생성자로 리다이렉션 할 때(this를 사용해서) 대상이 2개 이상일 때 발생해요.
예시
다음 코드는 C의 이름 없는 생성자가 this.a와 this.b 양쪽으로 함께 리다이렉션 하고 있어서 이 진단이 나와요.
class C {
C() : this.a(), this.b();
C.a();
C.b();
}
일반적인 해결 방법
리다이렉션을 하나만 남기고 나머지를 제거하면 돼요.
class C {
C() : this.a();
C.a();
C.b();
}