Pular para o conteúdo principal

const_constructor_with_non_final_field

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

Can't define a const constructor for a class with non-final fields.

Descrição

#

O analisador emite este diagnóstico quando um construtor está marcado como construtor const, mas o construtor é definido em uma classe que tem pelo menos um campo de instância não final (diretamente ou por herança).

Exemplo

#

O código a seguir produz este diagnóstico porque o campo x não é final:

dart
class C {
  int x;
​
  const C(this.x);
}

Correções comuns

#

Se for possível marcar todos os campos como final, faça isso:

dart
class C {
  final int x;
​
  const C(this.x);
}

Se não for possível marcar todos os campos como final, remova a palavra-chave const do construtor:

dart
class C {
  int x;
​
  C(this.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ê.