メインコンテンツにスキップ

super_formal_parameter_without_associated_named

関連付けられた名前付きスーパークラスコンストラクタの仮引数がありません。

説明

#

アナライザーは、コンストラクタに名前付きスーパークラスの仮引数があり、暗黙的または明示的に呼び出されたスーパークラスコンストラクタに同じ名前の名前付き仮引数がない場合に、この診断を生成します。

名前付きスーパークラスの仮引数は、スーパークラスコンストラクタの名前付き仮引数と名前で関連付けられます。

#

次のコードは、A のコンストラクタに y という名前の仮引数がないため、この診断を生成します。

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

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

一般的な修正

#

スーパークラスの仮引数がスーパークラスコンストラクタの既存の仮引数と関連付けられるべき場合は、対応する仮引数の名前に一致するように名前を変更してください。

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

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

スーパークラスの仮引数がまだスーパークラスコンストラクタに追加されていない仮引数と関連付けられるべき場合は、追加してください。

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

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

スーパークラスの仮引数がスーパークラスコンストラクタの名前付き仮引数に対応しない場合は、通常の仮引数に変更してください。

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

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