import_ deferred_ library_ with_ load_ function
Detalhes sobre o diagnóstico 'import_deferred_library_with_load_function' produzido pelo analisador do Dart.
The imported library defines a top-level function named 'loadLibrary' that is hidden by deferring this library.
Descrição
#
O analisador produz este diagnóstico quando uma biblioteca que declara uma
função chamada loadLibrary é importada usando um import adiado (deferred). Um
import adiado introduz uma função implícita chamada loadLibrary. Essa função é
usada para carregar o conteúdo da biblioteca adiada, e a função implícita oculta
a declaração explícita na biblioteca adiada.
Para mais informações, veja Carregando uma biblioteca de forma preguiçosa.
Exemplo
#Dado um arquivo a.dart que define uma função chamada loadLibrary:
void loadLibrary(Library library) {}
class Library {}
O código a seguir produz este diagnóstico porque a declaração implícita de
a.loadLibrary está ocultando a declaração explícita de
loadLibrary em a.dart:
import 'a.dart' deferred as a;
void f() {
a.Library();
}
Correções comuns
#
Se a biblioteca importada não precisar ser adiada, remova a keyword
deferred:
import 'a.dart' as a;
void f() {
a.Library();
}
Se a biblioteca importada precisar ser adiada e você precisar referenciar a função importada, renomeie a função na biblioteca importada:
void populateLibrary(Library library) {}
class Library {}
Se a biblioteca importada precisar ser adiada e você não precisar referenciar a
função importada, adicione uma cláusula hide:
import 'a.dart' deferred as a hide loadLibrary;
void f() {
a.Library();
}
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ê.