Pular para o conteúdo principal

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:

dart
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:

dart
import 'dart:ffi';
​
@Native<Int32 Function()>()
external int f();

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ê.