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

type_init_formals

初期化フォーマル引数に不要な型注釈を付けないでください。

説明

#

この診断は、初期化フォーマル引数 (this.x) またはスーパ引数 (super.x) に、フィールドまたはオーバーライドされた引数と同じ明示的な型注釈がある場合に、アナライザーによって生成されます。

コンストラクタ引数が this.x を使用してフィールドを初期化している場合、引数の型は暗黙的にフィールドと同じ型になります。コンストラクタ引数が super.x を使用してスーパークラスコンストラクタにフォワードしている場合、引数の型は暗黙的にスーパークラスコンストラクタ引数と同じ型になります。

#

次のコードは、引数 this.c がフィールド c と同じ明示的な型を持っているため、この診断を生成します。

dart
class C {
  int c;

  C(int this.c);
}

次のコードは、引数 super.a がスーパークラスの引数 a と同じ明示的な型を持っているため、この診断を生成します。

dart
class A {
  A(int a);
}

class B extends A {
  B(int super.a);
}

一般的な修正

#

引数から型注釈を削除してください。

dart
class C {
  int c;

  C(this.c);
}