literal_only_boolean_expressions
布尔表达式具有常量值。
描述
#当 if
或循环语句中的条件值已知始终为 true
或始终为 false
时,分析器会生成此诊断。例外情况是条件为布尔字面量 true
的 while
循环。
示例
#以下代码会生成此诊断,因为条件将始终评估为 true
dart
void f() {
if (true) {
print('true');
}
}
此 lint 会评估由常量组成的表达式子集,因此以下代码也会生成此诊断,因为条件将始终评估为 false
dart
void g(int i) {
if (1 == 0 || 3 > 4) {
print('false');
}
}
常见修复方法
#如果条件错误,则修正条件,使其值无法在编译时确定
dart
void g(int i) {
if (i == 0 || i > 4) {
print('false');
}
}
如果条件正确,则简化代码,使其不评估该条件
dart
void f() {
print('true');
}