literal_only_boolean_expressions
The Boolean expression has a constant value.
Description
#The analyzer produces this diagnostic when the value of the condition in
an if
or loop statement is known to be either always true
or always
false
. An exception is made for a while
loop whose condition is the
Boolean literal true
.
Examples
#The following code produces this diagnostic because the condition will
always evaluate to true
:
void f() {
if (true) {
print('true');
}
}
The lint will evaluate a subset of expressions that are composed of
constants, so the following code will also produce this diagnostic because
the condition will always evaluate to false
:
void g(int i) {
if (1 == 0 || 3 > 4) {
print('false');
}
}
Common fixes
#If the condition is wrong, then correct the condition so that it's value can't be known at compile time:
void g(int i) {
if (i == 0 || i > 4) {
print('false');
}
}
If the condition is correct, then simplify the code to not evaluate the condition:
void f() {
print('true');
}
除非另有说明,文档之所提及适用于 Dart 3.7.3 版本,本页面最后更新时间: 2025-05-08。 查看文档源码 或者 报告页面问题。