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

abi_specific_integer_mapping_extra

'AbiSpecificInteger' を継承するクラスは、ABI から固定サイズの 'NativeType' 整数へのマッピングを指定する 'AbiSpecificIntegerMapping' アノテーションをちょうど 1 つ持つ必要があります。

説明

#

アナライザーは、AbiSpecificInteger を拡張するクラスが 1 つ以上の AbiSpecificIntegerMapping アノテーションを持っている場合に、この診断を生成します。

#

以下のコードは、クラス C に 2 つの AbiSpecificIntegerMapping アノテーションがあるため、この診断を生成します。

dart
import 'dart:ffi';

@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
@AbiSpecificIntegerMapping({Abi.linuxX64 : Uint16()})
final class C extends AbiSpecificInteger {
  const C();
}

一般的な修正

#

アノテーションを 1 つだけ残し、引数を適切にマージしてください。

dart
import 'dart:ffi';

@AbiSpecificIntegerMapping({Abi.macosX64 : Int8(), Abi.linuxX64 : Uint16()})
final class C extends AbiSpecificInteger {
  const C();
}