Reports integer multiplications or left shifts that are implicitly cast to long.

Example:


  void f(int i) {
    long val = 65536 * i;
  }

After the quick-fix is applied, the code changes to:


  void x(int i) {
    long val = 65536L * i;
  }

Example:


  void f(int i) {
    long value = i << 24;
  }

After the quick-fix is applied, the code changes to:


  void f(int i) {
    long value = (long) i << 24;
  }

Such multiplications are often a mistake, as overflow truncation may occur unexpectedly. Converting an int literal to a long literal (65536L) fixes the problem.