Pular para o conteúdo principal

ffi_native_unexpected_number_of_parameters_with_receiver

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

Unexpected number of Native annotation parameters. Expected {0} but has {1}. Native instance method annotation must have receiver as first argument.

Descrição

#

O analisador produz este diagnóstico quando o argumento de tipo usado na anotação @Native de um método nativo não inclui um tipo para o receptor do método.

Exemplo

#

O código a seguir produz este diagnóstico porque o argumento de tipo na anotação @Native (Void Function(Double)) não inclui um tipo para o receptor do método:

dart
import 'dart:ffi';
​
class C {
  @Native<Void Function(Double)>()
  external void f(double x);
}

Correções comuns

#

Adicione um parâmetro inicial cujo tipo seja o mesmo da classe em que o método nativo está sendo declarado:

dart
import 'dart:ffi';
​
class C {
  @Native<Void Function(C, Double)>()
  external void f(double x);
}

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