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

abi_specific_integer_mapping_unsupported

「{0}」へのマッピングは無効です。サポートされているのは、「Int8」、「Int16」、「Int32」、「Int64」、「Uint8」、「Uint16」、「UInt32」、「Uint64」へのマッピングのみです。

説明

#

AbiSpecificIntegerMapping アノテーションの map 引数の値が、以下のいずれかの整数型以外の場合に、アナライザはこの診断を生成します。

  • Int8
  • Int16
  • Int32
  • Int64
  • Uint8
  • Uint16
  • UInt32
  • Uint64

#

次のコードは、map エントリの値が Array<Uint8> であり、有効な整数型ではないため、この診断を生成します。

dart
import 'dart:ffi';

@AbiSpecificIntegerMapping({Abi.macosX64 : Array<Uint8>(4)})
final class C extends AbiSpecificInteger {
  const C();
}

一般的な修正

#

map の値として、有効な型のいずれかを使用してください。

dart
import 'dart:ffi';

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