Pular para o conteúdo principal

duplicate_variable_pattern

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

The variable '{0}' is already defined in this pattern.

Descrição

#

O analisador emite este diagnóstico quando um ramo de um padrão de E lógico declara uma variável que já foi declarada em um ramo anterior do mesmo padrão.

Exemplo

#

O código a seguir gera este diagnóstico porque a variável a é declarada nos dois ramos do padrão de E lógico:

dart
void f((int, int) r) {
  if (r case (var a, 0) && (0, var a)) {
    print(a);
  }
}

Correções comuns

#

Se você precisa capturar o valor comparado em vários ramos, então altere os nomes das variáveis para que sejam únicos:

dart
void f((int, int) r) {
  if (r case (var a, 0) && (0, var b)) {
    print(a + b);
  }
}

Se você só precisa capturar o valor comparado em um ramo, então remova o padrão de variável de todos os ramos, exceto um:

dart
void f((int, int) r) {
  if (r case (var a, 0) && (0, _)) {
    print(a);
  }
}

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