非短絡形式のブール演算子 'and' および 'or' (&|&=|=) の使用箇所を報告します。 非短絡形式は便利な場合もありますが、多くの場合は短絡形式 (&&||) が意図されています。また、このような意図しない使用はバグの検出を困難にする可能性があります。

短絡形式を使用するためのクイックフィックスが提案されます。

例:


  void foo(boolean x, boolean y, boolean z) {
    if (x | y) { x |= z; }
  }

クイックフィックス適用後:


  void foo(boolean x, boolean y) {
    if (x || y) { x = x || z; }
  }