Pular para o conteúdo principal

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:

dart
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:

dart
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:

dart
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:

dart
void f((int, int) r) {
  switch (r) {
    case (var a, 0):
      print(a);
    case (0, _):
      print('found a zero');
  }
}

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