無効な内部アノテーション
パッケージのプライベート API の公開要素のみを内部としてアノテーションできます。
説明
#宣言が internal アノテーションでアノテーションされており、その宣言が 公開ライブラリ にあるか、またはプライベート名を持っている場合に、アナライザはこの診断を生成します。
例
#以下のコードは、公開ライブラリ にある場合、この診断を生成します。なぜなら、internal アノテーションは 公開ライブラリ の宣言に適用できないからです。
dart
import 'package:meta/meta.dart';
@internal
class C {}以下のコードは、公開ライブラリまたは内部ライブラリのいずれにある場合でも、この診断を生成します。なぜなら、internal アノテーションはプライベート名を持つ宣言に適用できないからです。
dart
import 'package:meta/meta.dart';
@internal
class _C {}
void f(_C c) {}一般的な修正
#宣言がプライベート名を持っている場合は、アノテーションを削除してください。
dart
class _C {}
void f(_C c) {}宣言が公開名を持っており、パッケージの内部であることを意図している場合は、アノテーションされた宣言を内部ライブラリ (つまり、src ディレクトリ内のライブラリ) に移動してください。
それ以外の場合は、アノテーションの使用を削除してください。
dart
class C {}