argument_ must_ be_ native
Detalhes sobre o diagnóstico 'argument_must_be_native' produzido pelo analisador do Dart.
Argument to 'Native.addressOf' must be annotated with @Native
Descrição
#
O analisador emite este diagnóstico quando o argumento passado para
Native.addressOf não está anotado com a anotação Native.
Exemplos
#
O código a seguir produz este diagnóstico porque o argumento de
addressOf é uma string, não um campo, e strings não podem ser anotadas:
import 'dart:ffi';
@Native<Void Function()>()
external void f();
void g() {
print(Native.addressOf('f'));
}
O código a seguir produz este diagnóstico porque a função f é
passada para addressOf, mas não está anotada como Native:
import 'dart:ffi';
external void f();
void g() {
print(Native.addressOf<NativeFunction<Void Function()>>(f));
}
Correções comuns
#
Se o argumento não for nem um campo nem uma função, substitua o argumento
por um campo ou uma função anotada com Native:
import 'dart:ffi';
@Native<Void Function()>()
external void f();
void g() {
print(Native.addressOf<NativeFunction<Void Function()>>(f));
}
Se o argumento for um campo ou uma função, anote o campo ou a função
com Native:
import 'dart:ffi';
@Native<Void Function()>()
external void f();
void g() {
print(Native.addressOf<NativeFunction<Void Function()>>(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ê.