missing_ variable_ pattern
Detalhes sobre o diagnóstico 'missing_variable_pattern' produzido pelo analisador do Dart.
Variable pattern '{0}' is missing in this branch of the logical-or pattern.
Descrição
#O analisador gera este diagnóstico quando um dos ramos de um padrão lógico-ou não declara uma variável que é declarada no outro ramo do mesmo padrão.
Exemplo
#
O código a seguir gera este diagnóstico porque o lado direito do padrão lógico-ou não declara a variável
a:
void f((int, int) r) {
if (r case (var a, 0) || (0, _)) {
print(a);
}
}
Correções comuns
#Se a variável precisa ser referenciada nas instruções controladas, então adicione a declaração da variável em todos os ramos do padrão lógico-ou:
void f((int, int) r) {
if (r case (var a, 0) || (0, var a)) {
print(a);
}
}
Se a variável não precisa ser referenciada nas instruções controladas, então remova a declaração da variável de todos os ramos do padrão lógico-ou:
void f((int, int) r) {
if (r case (_, 0) || (0, _)) {
print('found a zero');
}
}
Se a variável precisa ser referenciada quando um ramo do padrão casa, mas não quando o outro casa, então divida o padrão em duas partes:
void f((int, int) r) {
switch (r) {
case (var a, 0):
print(a);
case (0, _):
print('found a zero');
}
}
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ê.