跳到主要內容

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();
}