late_ final_ local_ already_ assigned
Detalhes sobre o diagnóstico 'late_final_local_already_assigned' produzido pelo analisador do Dart.
The late final local variable is already assigned.
Descrição
#
O analisador gera este diagnóstico quando consegue provar que uma variável local marcada como late
e final já recebeu um valor no ponto em que ocorre outra atribuição.
Como variáveis final só podem ser atribuídas uma vez, as atribuições seguintes com certeza falhariam, por isso são sinalizadas.
Exemplo
#
O código a seguir gera este diagnóstico porque a variável final v recebe um valor em dois lugares:
int f() {
late final int v;
v = 0;
v += 1;
return v;
}
Correções comuns
#Se você precisa poder reatribuir a variável, então remova a palavra-chave final:
int f() {
late int v;
v = 0;
v += 1;
return v;
}
Se você não precisa reatribuir a variável, então remova todas as atribuições, exceto a primeira:
int f() {
late final int v;
v = 0;
return v;
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.