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

annotation_on_pointer_field

Struct クラス内の 'Pointer' 型のフィールドには、アノテーションを付けないでください。

説明

#

Struct のサブクラスに宣言され、かつ Pointer 型を持つフィールドにアノテーションが関連付けられている場合に、アナライザーはこの診断を生成します。

FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。

#

以下のコードでは、Struct のサブクラスに宣言され、Pointer 型を持つフィールド p にアノテーション @Double() が付いているため、この診断が生成されます。

dart
import 'dart:ffi';

final class C extends Struct {
  @Double()
  external Pointer<Int8> p;
}

一般的な修正

#

フィールドからアノテーションを削除してください。

dart
import 'dart:ffi';

final class C extends Struct {
  external Pointer<Int8> p;
}