native_ field_ missing_ type
Detalhes sobre o diagnóstico 'native_field_missing_type' produzido pelo analisador do Dart.
The native type of this field could not be inferred and must be specified in the annotation.
Descrição
#
O analisador emite este diagnóstico quando um campo anotado com @Native exige
uma dica de tipo na anotação para inferir o tipo nativo.
Tipos Dart como int e double têm várias representações nativas possíveis.
Como o tipo nativo precisa ser conhecido em tempo de compilação para gerar as
operações corretas de leitura e escrita ao acessar o campo, um tipo explícito
deve ser informado.
Exemplo
#
O código a seguir gera este diagnóstico porque o campo f tem o tipo int
(para o qual existem várias representações nativas), mas não há um parâmetro de
tipo explícito na anotação Native:
import 'dart:ffi';
@Native()
external int f;
Correções comuns
#
Para corrigir este diagnóstico, descubra a representação nativa correta a partir
da declaração nativa do campo. Depois, adicione o tipo correspondente à
anotação. Por exemplo, se f foi declarado como uint8_t em C, o campo Dart
deve ser declarado assim:
import 'dart:ffi';
@Native<Uint8>()
external int f;
Para mais informações sobre FFI, consulte interoperabilidade com C usando dart:ffi.
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.