duplicate_named_argument 진단: 같은 이름의 이름 있는 인자가 두 번 있을 때

duplicate_named_argument 진단: 같은 이름의 이름 있는 인자가 두 번 있을 때

Dart 분석기가 내보내는 진단에는 이름이 있어요. duplicate_named_argument함수를 호출할 때 이름이 같은 이름 있는 인자(named argument)가 두 개 이상 있을 때 분석기가 알려주는 컴파일 타임 진단이에요. 어떤 값을 써야 할지 알 수 없어서 문제가 돼요.

출처: duplicate_named_argument

본문

설명

분석기는 어떤 호출에 이름이 같은 이름 있는 인자가 두 개 이상 있으면 이 진단을 만들어요.

예시

아래 코드는 이름이 a인 인자가 두 개 있기 때문에 이 진단을 만들어요.

void f(C c) {
  c.m(a: 0, a: 1);
}

class C {
  void m({int? a, int? b}) {}
}

흔한 해결 방법

인자 중 하나가 다른 이름을 써야 한다면, 그 이름을 바꿔요.

void f(C c) {
  c.m(a: 0, b: 1);
}

class C {
  void m({int? a, int? b}) {}
}

인자 중 하나가 잘못된 거라면, 그 인자를 제거해요.

void f(C c) {
  c.m(a: 1);
}

class C {
  void m({int? a, int? b}) {}
}

더 알아보기