abi_specific_integer_mapping_unsupported
无效映射到“{0}”;仅支持映射到“Int8”、“Int16”、“Int32”、“Int64”、“Uint8”、“Uint16”、“UInt32”和“Uint64”。
描述
#当 AbiSpecificIntegerMapping 注解的映射参数中的值不是以下任一整数类型时,分析器会产生此诊断信息:
Int8Int16Int32Int64Uint8Uint16UInt32Uint64
示例
#以下代码会产生此诊断信息,因为映射条目的值为 Array<Uint8>,这不是一个有效的整数类型:
dart
import 'dart:ffi';
@AbiSpecificIntegerMapping({Abi.macosX64 : Array<Uint8>(4)})
final class C extends AbiSpecificInteger {
const C();
}常见修复方法
#使用其中一个有效类型作为映射中的值
dart
import 'dart:ffi';
@AbiSpecificIntegerMapping({Abi.macosX64 : Int8()})
final class C extends AbiSpecificInteger {
const C();
}