Pular para o conteúdo principal

ambiguous_import

Detalhes sobre o diagnóstico 'ambiguous_import' produzido pelo analisador do Dart.

The {0} '{1}' is defined in the libraries {2}.

Descrição

#

O analisador emite este diagnóstico quando um nome é referenciado e está declarado em duas ou mais bibliotecas importadas.

Exemplo

#

Dada uma biblioteca (a.dart) que define uma classe (C neste exemplo):

dart
class A {}
class C {}

E uma biblioteca (b.dart) que define uma classe diferente com o mesmo nome:

dart
class B {}
class C {}

O código a seguir produz este diagnóstico:

dart
import 'a.dart';
import 'b.dart';
​
void f(A a, C c1, C c2) {}

Correções comuns

#

Se alguma das bibliotecas não for necessária, remova as diretivas de importação delas:

dart
import 'a.dart';
​
void f(A a, C c1, C c2) {}

Se o nome ainda estiver definido por mais de uma biblioteca, adicione uma cláusula hide às diretivas de importação de todas, exceto uma biblioteca:

dart
import 'a.dart' hide C;
import 'b.dart';
​
void f(A a, C c1, C c2) {}

Se você precisar poder referenciar mais de um desses tipos, adicione um prefixo a cada diretiva de importação e qualifique as referências com o prefixo apropriado:

dart
import 'a.dart' as a;
import 'b.dart' as b;
​
void f(a.A a, a.C c1, b.C c2) {}

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