メインコンテンツにスキップ

リテラルのブール値のみの

ブール式が定数値を持っています。

説明

#

if またはループステートメントの条件の値が常に true または常に false であることがわかっている場合に、アナライザーはこの診断を生成します。ただし、条件がブール値リテラルの true である while ループは例外となります。

#

以下のコードは、条件が常に true と評価されるため、この診断を生成します。

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

このリンターは、定数で構成される式のサブセットを評価するため、以下のコードもこの診断を生成します。これは、条件が常に 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');
}