invalid_extension_argument_count 진단: 확장 오버라이드의 인자 개수가 맞지 않을 때

invalid_extension_argument_count 진단: 확장 오버라이드의 인자 개수가 맞지 않을 때

Dart 분석기가 내보내는 진단에는 이름이 있어요. invalid_extension_argument_count확장(extension) 오버라이드에 인자가 정확히 하나 들어오지 않을 때 분석기가 알려주는 컴파일 타임 진단이에요. 확장 오버라이드는 확장 메서드 안의 this 값을 계산할 표현식 하나, 정확히 한 개의 인자를 가져야 해요.

출처: invalid_extension_argument_count

본문

설명

확장 오버라이드(extension override)가 정확히 한 개의 인자를 갖지 않을 때 분석기는 이 진단을 만들어요. 그 인자는 확장 메서드 안에서 this의 값으로 쓸 표현식이므로 반드시 한 개여야 해요.

예시

아래 코드는 인자가 하나도 없기 때문에 이 진단이 나와요.

extension E on String {
  String join(String other) => '$this $other';
}

void f() {
  E().join('b');
}

그리고 아래 코드는 인자가 두 개 이상이기 때문에 이 진단이 나와요.

extension E on String {
  String join(String other) => '$this $other';
}

void f() {
  E('a', 'b').join('c');
}

흔한 해결 방법

확장 오버라이드에 인자를 정확히 한 개 제공하면 돼요.

extension E on String {
  String join(String other) => '$this $other';
}

void f() {
  E('a').join('b');
}

더 알아보기