abi_specific_integer_mapping_unsupported 진단: 지원하지 않는 정수 타입 매핑
abi_specific_integer_mapping_unsupported 진단: 지원하지 않는 정수 타입 매핑
Dart 분석기가 만들어 내는 abi_specific_integer_mapping_unsupported 진단에 대한 설명이에요.
본문
{0}으로의 매핑이 잘못되었어요. 매핑은 Int8, Int16, Int32, Int64, Uint8, Uint16, UInt32, Uint64로만 지원돼요.
설명
분석기는 AbiSpecificIntegerMapping 주석의 맵 인자에 있는 값이 다음 정수 타입 중 하나가 아닐 때 이 진단을 만들어요.
Int8Int16Int32Int64Uint8Uint16UInt32Uint64
예시
다음 코드는 맵 항목의 값이 Array<Uint8>인데, 이는 유효한 정수 타입이 아니기 때문에 이 진단을 만들어요.
import 'dart:ffi';
@AbiSpecificIntegerMapping({Abi.macosX64: Array(4)})
final class C extends AbiSpecificInteger {
const C();
}
흔한 해결 방법
맵의 값으로 유효한 타입 중 하나를 사용해요.
import 'dart:ffi';
@AbiSpecificIntegerMapping({Abi.macosX64: Int8()})
final class C extends AbiSpecificInteger {
const C();
}