private_ collision_ in_ mixin_ application
Detalhes sobre o diagnóstico 'private_collision_in_mixin_application' produzido pelo analisador do Dart.
The private name '{0}', defined by '{1}', conflicts with the same name defined by '{2}'.
Descrição
#O analisador emite este diagnóstico quando dois mixins que definem o mesmo membro privado são usados juntos em uma única classe, em uma biblioteca diferente daquela que define os mixins.
Exemplo
#Dado um arquivo a.dart com o seguinte código:
mixin A {
void _foo() {}
}
mixin B {
void _foo() {}
}
O código a seguir gera este diagnóstico porque os mixins A e B definem ambos o método
_foo:
import 'a.dart';
class C extends Object with A, B {}
Correções comuns
#Se você não precisa dos dois mixins, remova um deles da cláusula with:
import 'a.dart';
class C extends Object with A, B {}
Se você precisa dos dois mixins, renomeie o membro conflitante em um dos dois mixins.
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ê.