Pular para o conteúdo principal

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:

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

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

dart
import 'package:meta/meta.dart';
​
class C {
  void m() {}
}
​
extension type E(C c) implements C {
  @redeclare
  void m() {}
}

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