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

無効な_アノテーション_遅延ロード_ライブラリから

遅延ロードされたライブラリからの定数は、アノテーションとして使用できません。

説明

#

遅延インポートを使用してインポートされたライブラリの定数がアノテーションとして使用されている場合、アナライザーはこの診断を生成します。アノテーションはコンパイル時に評価されますが、遅延ロードされたライブラリからの定数はコンパイル時には利用できません。

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

#

以下のコードは、ライブラリ dart:mathdeferred としてインポートされている場合に、定数 pi がアノテーションとして使用されているため、この診断を生成します。

dart
import 'dart:math' deferred as math;

@math.pi
void f() {}

一般的な修正

#

定数をアノテーションとして参照する必要がある場合は、インポートから deferred キーワードを削除してください。

dart
import 'dart:math' as math;

@math.pi
void f() {}

アノテーションとして別の定数を使用できる場合は、アノテーションを別の定数に置き換えてください。

dart
@deprecated
void f() {}