no_generative_constructors_in_superclass
クラス「{0}」は「{1}」を拡張できません。「{1}」にはファクトリコンストラクタ(生成コンストラクタなし)しかなく、「{0}」には少なくとも1つの生成コンストラクタがあります。
説明
#アナライザーは、少なくとも1つの生成コンストラクタ(明示的または暗黙的)を持つクラスが、生成コンストラクタを持たないスーパークラスを持っている場合に、この診断を生成します。Object で定義されたものを除くすべての生成コンストラクタは、明示的または暗黙的に、スーパークラスの生成コンストラクタのいずれかを呼び出します。
例
#次のコードは、クラス B に暗黙的な生成コンストラクタがあり、A に生成コンストラクタがないため A の生成コンストラクタを呼び出すことができないため、この診断を生成します。
dart
class A {
factory A.none() => throw '';
}
class B extends A {}一般的な修正
#スーパークラスに生成コンストラクタが必要な場合は、追加してください。
dart
class A {
A();
factory A.none() => throw '';
}
class B extends A {}サブクラスに生成コンストラクタが必要ない場合は、ファクトリコンストラクタを追加して削除してください。
dart
class A {
factory A.none() => throw '';
}
class B extends A {
factory B.none() => throw '';
}サブクラスに生成コンストラクタが必要であり、スーパークラスに生成コンストラクタを持たせることができない場合は、代わりにスーパークラスを実装してください。
dart
class A {
factory A.none() => throw '';
}
class B implements A {}