class CompoundAssignments { static final int SIZE = 4; // There used to be a bug creating the LeftShiftAssignmentNode // where the target (e.g. pow) was replaced by the shift amount // (e.g. 1). static void left_shift_assign() { for (int i = 0, pow = 1; i <= SIZE; i++) { pow <<= 1; } } // There used to be a bug computing the Receiver for a widening // conversion, such as widening sum to a double below. static int sum_with_widening() { double[] freq = new double[SIZE]; int sum = 0; for (int i = 0; i < SIZE; i++) { sum += freq[i]; } return sum; } }