Pular para o conteúdo principal

no_duplicate_case_values

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

The value of the case clause ('{0}') is equal to the value of an earlier case clause ('{1}').

Descrição

#

O analisador emite este diagnóstico quando duas ou mais cláusulas case na mesma instrução switch têm o mesmo valor.

Qualquer cláusula case depois da primeira não pode ser executada, então ter cláusulas case duplicadas é enganoso.

Este diagnóstico costuma ser resultado de um erro de digitação ou de uma mudança no valor de uma constante.

Exemplo

#

O código a seguir gera este diagnóstico porque duas cláusulas case têm o mesmo valor (1):

dart
// @dart = 2.19
void f(int v) {
  switch (v) {
    case 1:
      break;
    case 1:
      break;
  }
}

Correções comuns

#

Se uma das cláusulas deveria ter um valor diferente, então altere o valor da cláusula:

dart
void f(int v) {
  switch (v) {
    case 1:
      break;
    case 2:
      break;
  }
}

Se o valor estiver correto, então una as instruções em uma única cláusula:

dart
void f(int v) {
  switch (v) {
    case 1:
      break;
  }
}

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