abi_specific_integer_mapping_unsupported
无效映射到“{0}”;仅支持映射到“Int8”、“Int16”、“Int32”、“Int64”、“Uint8”、“Uint16”、“UInt32”和“Uint64”。
描述
#当 AbiSpecificIntegerMapping
注解的映射参数中的值不是以下任一整数类型时,分析器会产生此诊断信息:
Int8
Int16
Int32
Int64
Uint8
Uint16
UInt32
Uint64
示例
#以下代码会产生此诊断信息,因为映射条目的值为 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();
}