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

subtype_of_deferred_class

クラスとミックスインは、遅延ロードされるクラスを実装できません。

クラスは、遅延ロードされるクラスを拡張できません。

クラスは、遅延ロードされるクラスをミックスインとして使用できません。

説明

#

遅延インポートを使用してインポートされるライブラリのクラスのサブタイプである型(クラスまたはミックスイン)がある場合、アナライザーはこの診断を生成します。型のスーパークラスは、型と同じタイミングでコンパイルされる必要があります。遅延ライブラリのクラスは、ライブラリがロードされるまでコンパイルされません。

詳細については、ライブラリの遅延ロード を参照してください。

#

クラスAを定義するファイルa.dartがあるとします。

dart
class A {}

Bのスーパー クラスが遅延ライブラリで宣言されているため、次のコードはこの診断を生成します。

dart
import 'a.dart' deferred as a;

class B extends a.A {}

一般的な修正

#

遅延ライブラリの型 のサブタイプを作成する必要がある場合は、deferredキーワードを削除してください。

dart
import 'a.dart' as a;

class B extends a.A {}