Pular para o conteúdo principal

undefined_unqualified_name_write

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

'{0}' is final, so it can't be assigned to.

The constant '{0}' can't be assigned to.

The {0} '{1}' can't be assigned to.

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

Undefined name '{0}'.

Descrição

#

O analisador emite este diagnóstico quando um valor é atribuído a um nome sem qualificador, mas não existe nenhum setter ou variável que possa receber atribuição com esse nome no escopo em que é usado.

Exemplos

#

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

dart
var count = 0;
​
void f() {
  cuont = 1;
}

O código a seguir produz este diagnóstico porque existe apenas um getter chamado x:

dart
int get x => 0;
​
void f() {
  x = 1;
}

O código a seguir produz este diagnóstico porque y é final:

dart
final y = 0;
​
void f() {
  y = 1;
}

O código a seguir produz este diagnóstico porque m é um método:

dart
class C {
  void m() {}
​
  void f() {
    m = () {};
  }
}

Correções comuns

#

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

dart
var count = 0;
​
void f() {
  count = 1;
}

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

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

Se a variável for final, torne-a não final:

dart
var y = 0;
​
void f() {
  y = 1;
}

Caso contrário, remova a atribuição ou atribua um valor a uma variável.

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