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

extension_type_representation_depends_on_itself

拡張型はそれ自体を表現型として使用することはできません。

説明

#

拡張型が、直接的または間接的に、拡張型自体に依存する表現型を持つ場合に、アナライザーはこの診断を生成します。

#

以下のコードは、拡張型 A の表現型が直接 A に依存しているため、この診断を生成します。

dart
extension type A(A a) {}

以下の 2 つのコード例は、拡張型 A の表現型が、拡張型 B を介して間接的に A に依存しているため、この診断を生成します。

dart
extension type A(B b) {}

extension type B(A a) {}
dart
extension type A(List<B> b) {}

extension type B(List<A> a) {}

一般的な修正

#

サイクル内の少なくとも 1 つの型の表現型を別の型に変更することで、依存関係を削除してください。

dart
extension type A(String s) {}