Pular para o conteúdo principal

constant_pattern_with_non_constant_expression

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

The expression of a constant pattern must be a valid constant.

Descrição

#

O analisador emite este diagnóstico quando um padrão constante tem uma expressão que não é uma constante válida.

Exemplo

#

O código a seguir produz este diagnóstico porque o padrão constante i não é uma constante:

dart
void f(int e, int i) {
  switch (e) {
    case i:
      break;
  }
}

Correções comuns

#

Se o valor que deve ser comparado for conhecido, substitua a expressão por uma constante:

dart
void f(int e, int i) {
  switch (e) {
    case 0:
      break;
  }
}

Se o valor que deve ser comparado não for conhecido, reescreva o código para não usar um padrão:

dart
void f(int e, int i) {
  if (e == i) {}
}

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