Pular para o conteúdo principal

assignment_to_final_no_setter

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

There isn't a setter named '{0}' in class '{1}'.

Descrição

#

O analisador emite este diagnóstico quando é encontrada uma referência a um setter; não há setter definido para o tipo; mas há um getter definido com o mesmo nome.

Exemplo

#

O código a seguir produz este diagnóstico porque não há um setter chamado x em C, mas há um getter chamado x:

dart
class C {
  int get x => 0;
  set y(int p) {}
​
  void f() {
    x = 1;
  }
}

Correções comuns

#

Se você quer invocar um setter existente, corrija o nome:

dart
class C {
  int get x => 0;
  set y(int p) {}
​
  void f() {
    y = 1;
  }
}

Se você quer invocar o setter, mas ele ainda não existe, declare-o:

dart
class C {
  int get x => 0;
  set x(int p) {}
  set y(int p) {}
​
  void f() {
    x = 1;
  }
}

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