シフト値が常に一定であり、有効な範囲から外れているシフト演算を報告します。

0..31 の範囲を外れている整数のシフト演算と、0..63 の範囲を外れている long のシフト演算が報告されます。 負の値または過度に大きな値によるシフトは、ほぼ確実にコーディングの誤りです。

例:


  int shiftSize = 32;
  // 警告: 32 ビットのシフトは 0 ビットのシフトと同じであり、まったくシフトしません。
  int mask = (1 << shiftSize) - 1;