無意味なビット演算式を報告します。

このような式には、指定した型の最大値に対する & 演算子の適用、ゼロに対する or 演算子の適用、そしてゼロによるシフトが含まれます。 このような式は自動リファクタリングを完遂しなかったために発生している可能性があり、本来意図していたものではないと思われます。

例:


  // 警告: 演算は無意味であり、単純な `flags` に置換できます
  // 0xFFFF_FFFF は整数の最大値であり、両方のリテラルが
  // 32 ビット整数リテラルとして扱われます。
  int bits = flags & 0xFFFF_FFFF;

  // 警告: 演算は無意味であり、単純な `bits` に置換できます
  // 0 と一緒に論理和演算を行うと常に他方のオペランドが出力されます
  int or = bits | 0x0;

  // 警告: この演算は常に結果がゼロになるため、無意味です
  int xor = or ^ or;