native_ function_ missing_ type
Detalhes sobre o diagnóstico 'native_function_missing_type' produzido pelo analisador do Dart.
The native type of this function couldn't be inferred so it must be specified in the annotation.
Descrição
#
O analisador emite este diagnóstico quando uma função anotada com @Native exige
uma dica de tipo na anotação para inferir o tipo da função nativa.
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
vinculações e instruções de chamada corretas para a função, um tipo explícito
deve ser informado.
Para mais informações sobre FFI, consulte interoperabilidade com C usando dart:ffi.
Exemplo
#
O código a seguir gera este diagnóstico porque a função f() tem o tipo de
retorno int, mas não tem um parâmetro de tipo explícito na anotação Native:
import 'dart:ffi';
@Native()
external int f();
Correções comuns
#
Adicione o tipo correspondente à anotação. Por exemplo, se f() foi declarada
para retornar um int32_t em C, a função Dart deve ser declarada assim:
import 'dart:ffi';
@Native<Int32 Function()>()
external int f();
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ê.