unnecessary_null_aware_operator_on_extension_on_nullable 진단: 널 타입 확장에서 쓰는 쓸데없는 널 인지 연산자
unnecessary_null_aware_operator_on_extension_on_nullable 진단: 널 타입 확장에서 쓰는 쓸데없는 널 인지 연산자
타입이 널인 확장(extension)의 확장 메서드를 호출할 때 널 인지 연산자(?.)를 꼭 쓰지 않아도 되는데 쓰고 있다는 것을 분석기가 알려주는 진단이에요.
출처: unnecessary_null_aware_operator_on_extension_on_nullable
본문
설명
분석기는 타입이 널인 확장에 대해 확장 메서드를 호출할 때 널 인지 연산자(?.)를 사용하면 이 진단을 만들어요. 널 인지 연산자가 필요 없음에도 쓰고 있기 때문이에요.
예시
아래 코드는 확장 메서드 m을 ?.로 호출하고 있는데 그럴 필요가 없어서 이 진단을 만들어요.
extension E on int? {
int m() => 1;
}
int? f(int? i) => i?.m();
흔한 해결 방법
수신자(receiver)가 null일 때 메서드를 호출하지 않아도 되는 상황이라면, 호출에서 물음표를 제거해요.
extension E on int? {
int m() => 1;
}
int? f(int? i) => i.m();