跳到主要内容

abi_specific_integer_mapping_extra

扩展 'AbiSpecificInteger' 的类必须且仅有一个 'AbiSpecificIntegerMapping' 注解,用于指定从 ABI 到固定大小的 'NativeType' 整数的映射关系。

描述

#

当扩展 AbiSpecificInteger 的类具有多个 AbiSpecificIntegerMapping 注解时,分析器会产生此诊断信息。

示例

#

以下代码会产生此诊断信息,因为类 C 上有两个 AbiSpecificIntegerMapping 注解。

dart
import 'dart:ffi';

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

常见修复方法

#

删除除一个之外的所有注解,并酌情合并参数。

dart
import 'dart:ffi';

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