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.