Pular para o conteúdo principal

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:

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

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

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

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