Pular para o conteúdo principal

undefined_prefixed_name_read

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

The name '{0}' is declared in '{1}', but private names are visible only in their own library.

The name '{0}' isn't defined in the libraries imported with the prefix '{1}'.

There's a setter '{0}' in the libraries imported with the prefix '{1}', but no getter.

Descrição

#

O analisador emite este diagnóstico quando um nome é lido, invocado ou extraído (tear-off) por meio de um prefixo de import, mas nenhuma das bibliotecas importadas com esse prefixo possui um getter, função, variável ou tipo com esse nome que possa ser lido.

Exemplos

#

O código a seguir produz este diagnóstico porque dart:core não define nada chamado a:

dart
import 'dart:core' as p;
​
void f() {
  p.a;
}

Dado um arquivo a.dart que contém:

dart
set x(int _) {}

O código a seguir produz este diagnóstico porque a.dart tem apenas um setter chamado x, que não pode ser lido:

dart
import 'a.dart' as p;
​
int f() => p.x;

Correções comuns

#

Se a biblioteca em que o nome é declarado ainda não foi importada, importe-a com o prefixo.

Se o nome estiver errado, troque-o por um dos nomes declarados nas bibliotecas importadas.

Se a biblioteca tiver apenas um setter, adicione a ela um getter com o mesmo nome.

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