Pular para o conteúdo principal

abi_specific_integer_mapping_unsupported

Detalhes sobre o diagnóstico 'abi_specific_integer_mapping_unsupported' produzido pelo analisador do Dart.

Invalid mapping to '{0}'; only mappings to 'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16', 'UInt32', and 'Uint64' are supported.

Descrição

#

O analisador emite este diagnóstico quando um valor no argumento de mapa de uma anotação AbiSpecificIntegerMapping é diferente de um dos seguintes tipos inteiros:

  • Int8
  • Int16
  • Int32
  • Int64
  • Uint8
  • Uint16
  • UInt32
  • Uint64

Exemplo

#

O código a seguir produz este diagnóstico porque o valor da entrada do mapa é Array<Uint8>, que não é um tipo inteiro válido:

dart
import 'dart:ffi';
​
@AbiSpecificIntegerMapping({Abi.macosX64: Array<Uint8>(4)})
final class C extends AbiSpecificInteger {
  const C();
}

Correções comuns

#

Use um dos tipos válidos como valor no mapa:

dart
import 'dart:ffi';
​
@AbiSpecificIntegerMapping({Abi.macosX64: Int8()})
final class C extends AbiSpecificInteger {
  const C();
}

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.