parameter_ assignments
Detalhes sobre o diagnóstico 'parameter_assignments' produzido pelo analisador do Dart.
Invalid assignment to the parameter '{0}'.
Descrição
#O analisador emite este diagnóstico quando um parâmetro é reatribuído dentro do corpo de uma função. Reatribuir parâmetros pode dificultar a compreensão de qual valor um parâmetro contém em um determinado ponto da função.
Todos os tipos de atribuição são considerados, incluindo:
- Atribuições diretas de variáveis (com
=). - Atribuições com null-aware (com
??=). - Atribuições compostas (como com
+=). - Operadores de incremento e decremento (como com
++). - Atribuições de variáveis em padrões (como em
var (a, b) = (1, 2);).
Há uma exceção para uma única atribuição null-aware (??=) no início de uma
função, para parâmetros anuláveis que não têm valor padrão, pois esse é um
padrão comum para fornecer valores padrão.
Exemplos
#
O código a seguir produz este diagnóstico porque o parâmetro x recebe um
novo valor:
void f(int x) {
x = 4;
print(x);
}
O código a seguir produz este diagnóstico porque o parâmetro x é modificado
com um incremento pós-fixado:
void f(int x) {
x++;
}
Correções comuns
#Introduza uma variável local para armazenar o valor modificado, em vez de reatribuir o parâmetro:
void f(int x) {
var y = x + 4;
print(y);
}
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ê.