Pular para o conteúdo principal

literal_only_boolean_expressions

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

The Boolean expression has a constant value.

Descrição

#

O analisador gera este diagnóstico quando o valor da condição de uma instrução if ou de um laço é conhecido como sempre true ou sempre false. Há uma exceção para um laço while cuja condição é o literal booleano true.

Exemplos

#

O código a seguir gera este diagnóstico porque a condição sempre será avaliada como true:

dart
void f() {
  if (true) {
    print('true');
  }
}

O lint avalia um subconjunto de expressões compostas por constantes, então o código a seguir também gera este diagnóstico porque a condição sempre será avaliada como false:

dart
void g(int i) {
  if (1 == 0 || 3 > 4) {
    print('false');
  }
}

Correções comuns

#

Se a condição está errada, então corrija a condição para que o seu valor não possa ser conhecido em tempo de compilação:

dart
void g(int i) {
  if (i == 0 || i > 4) {
    print('false');
  }
}

Se a condição está correta, então simplifique o código para não avaliar a condição:

dart
void f() {
  print('true');
}

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