연관된 이름 있는 super 생성자 매개변수가 없음

연관된 이름 있는 super 생성자 매개변수가 없음 (super_formal_parameter_without_associated_named)

이 문서는 Dart 분석기(analyzer)가 만들어 내는 super_formal_parameter_without_associated_named 진단(diagnostic)에 대한 상세한 내용을 설명하는 문서예요. 이름 있는(named) super 매개변수에 연결될 super 생성자의 매개변수가 없을 때 분석기가 이 진단을 알려 줘요. 어떤 상황에서 발생하고 어떻게 고치는지 함께 알아볼게요.

출처: super_formal_parameter_without_associated_named

본문

진단 메시지

No associated named super constructor parameter.

연관된 이름 있는 super 생성자 매개변수가 없어요.

설명

분석기는 생성자에 이름 있는 super 매개변수가 있는데, 암시적 또는 명시적으로 호출되는 super 생성자에 같은 이름을 가진 이름 있는 매개변수가 없을 때 이 진단을 만들어 내요. 이름 있는 super 매개변수는 super 생성자의 이름 있는 매개변수와 이름으로 연결돼요.

예시

다음 코드는 A의 생성자에 y라는 이름의 매개변수가 없기 때문에 이 진단을 만들어 내요.

class A {
  A({int? x});
}

class B extends A {
  B({super.y});
}

일반적인 해결 방법

super 매개변수를 super 생성자의 기존 매개변수에 연결해야 한다면, 해당 매개변수의 이름과 일치하도록 이름을 바꿔 주세요.

class A {
  A({int? x});
}

class B extends A {
  B({super.x});
}

super 매개변수를 아직 super 생성자에 추가되지 않은 매개변수에 연결해야 한다면, 그 매개변수를 추가해 주세요.

class A {
  A({int? x, int? y});
}

class B extends A {
  B({super.y});
}

super 매개변수가 super 생성자의 이름 있는 매개변수와 대응하지 않는다면, 일반 매개변수로 바꿔 주세요.

class A {
  A({int? x});
}

class B extends A {
  B({int? y});
}

더 알아보기