Pular para o conteúdo principal

unreachable_from_main

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

Unreachable member '{0}' in an executable library.

Descrição

#

O analisador gera este diagnóstico quando uma declaração pública em uma biblioteca executável não é referenciada, direta ou indiretamente, a partir de um ponto de entrada dessa biblioteca.

Uma biblioteca executável é uma biblioteca que contém um ponto de entrada. Um ponto de entrada é uma função de nível superior que é uma das seguintes:

  • Chamada main.
  • Anotada com @pragma('vm:entry-point').
  • Anotada com @Preview, a anotação de pré-visualização de widgets do Flutter.

O analisador não reporta declarações anotadas com @visibleForTesting de package:meta nem com @Preview do Flutter.

Exemplos

#

O código a seguir gera este diagnóstico porque a função f não é referenciada a partir da função main:

dart
void main() {}
​
void f() {}

O código a seguir gera este diagnóstico porque o método m não é referenciado, mesmo que a classe C que o contém seja:

dart
void main() {
  C();
}
​
class C {
  void m() {}
}

Correções comuns

#

Se a declaração deve ser usada, então adicione a referência que falta:

dart
void main() {
  f();
}
​
void f() {}

Se a declaração não é necessária, então remova-a:

dart
void main() {}

Se a declaração é pública para ser usada pelos testes, então adicione a anotação @visibleForTesting:

dart
import 'package:meta/meta.dart';
​
void main() {}
​
@visibleForTesting
void f() {}

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