redeclare_ on_ non_ redeclaring_ member
Detalhes sobre o diagnóstico 'redeclare_on_non_redeclaring_member' produzido pelo analisador do Dart.
The {0} doesn't redeclare a {0} declared in a superinterface.
Descrição
#
O analisador emite este diagnóstico quando um membro de um tipo de extensão (extension type) é anotado com
@redeclare, mas nenhuma das interfaces implementadas tem um membro com o mesmo nome.
Exemplo
#
O código a seguir gera este diagnóstico porque o membro n, declarado pelo tipo de extensão
E, é anotado com @redeclare, mas C não tem um membro chamado n:
import 'package:meta/meta.dart';
class C {
void m() {}
}
extension type E(C c) implements C {
@redeclare
void n() {}
}
Correções comuns
#Se o membro anotado tem o nome certo, remova a anotação:
class C {
void m() {}
}
extension type E(C c) implements C {
void n() {}
}
Se o membro anotado deve substituir um membro das interfaces implementadas, altere o nome do membro anotado para que corresponda ao membro que está sendo substituído:
import 'package:meta/meta.dart';
class C {
void m() {}
}
extension type E(C c) implements C {
@redeclare
void m() {}
}
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ê.