Pular para o conteúdo principal

undefined_unqualified_name_read

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

There's a setter '{0}', but no getter.

Undefined name '{0}' used as an annotation.

Undefined name '{0}'.

Descrição

#

O analisador emite este diagnóstico quando um nome sem qualificador é lido, invocado ou extraído (tear-off), mas não existe nenhuma variável, getter, função, método ou tipo com esse nome no escopo em que é usado.

Exemplos

#

O código a seguir produz este diagnóstico porque o nome rihgt não está definido:

dart
int min(int left, int right) => left <= rihgt ? left : right;

O código a seguir produz este diagnóstico porque não existe uma função chamada emty:

dart
List<int> empty() => [];
​
void main() {
  print(emty());
}

O código a seguir produz este diagnóstico porque C não possui um membro chamado removeMiddle:

dart
class C {
  void removeLast() {}
​
  void f() {
    removeMiddle();
  }
}

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

dart
set x(int _) {}
​
int f() => x;

O código a seguir produz este diagnóstico porque não existe uma constante chamada deprecatedApi para usar como anotação:

dart
@deprecatedApi
void f() {}

Correções comuns

#

Se o nome estiver com erro de digitação, corrija-o:

dart
int min(int left, int right) => left <= right ? left : right;

Se o nome estiver declarado em uma biblioteca que não foi importada, importe essa biblioteca.

Se o nome não estiver declarado, declare-o. Uma anotação sem argumentos, assim como uma expressão constante, pode usar apenas uma constante:

dart
const deprecatedApi = 'Use g instead.';
​
@deprecatedApi
void f() {}

Se houver apenas um setter, adicione um getter com o mesmo nome:

dart
int get x => 0;
​
set x(int _) {}
​
int f() => x;

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