invocation_ of_ extension_ without_ call
Detalhes sobre o diagnóstico 'invocation_of_extension_without_call' produzido pelo analisador do Dart.
The extension '{0}' doesn't define a 'call' method so the override can't be used in an invocation.
Descrição
#
O analisador gera este diagnóstico quando uma extensão explícita (extension override) é usada para invocar uma função, mas a extensão não declara um método
call.
Exemplo
#
O código a seguir gera este diagnóstico porque a extensão E não define um método call:
extension E on String {}
void f() {
E('')();
}
Correções comuns
#Se a extensão deve definir um método call, então declare-o:
extension E on String {
int call() => 0;
}
void f() {
E('')();
}
Se o tipo estendido define um método call, então remova a extensão explícita (extension override).
Se o método call não estiver definido, então reescreva o código para que ele não invoque o método
call.
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ê.