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:
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:
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:
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:
void f() {
print('true');
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.